Re: save dictionary for later use?



On May 16, 4:29 pm, "bruno.desthuilli...@xxxxxxxxx"
<bruno.desthuilli...@xxxxxxxxx> wrote:
On 16 mai, 22:24, globalrev <skanem...@xxxxxxxx> wrote:





On 16 Maj, 21:22, jay graves <jaywgra...@xxxxxxxxx> wrote:

On May 16, 2:17 pm, globalrev <skanem...@xxxxxxxx> wrote:

i extract info from one file and put it into a dictionary.
i want to save that dictionary for later use, how do i do that?
might save a list of dictionaries or a list of classobjects too if
there is any difference.

use the 'pickle' module.http://docs.python.org/lib/module-pickle.html

...
Jay Graves

pickle.dumps(mg)
pickle.load(mg)

'dict' object has no attribute 'readline'
dumps load(well i dont know but i get no complaint but running load
generates that error)

What about *READING THAT FUCKING MANUAL* ?

http://docs.python.org/lib/node316.html
"""
dump(obj, file[, protocol])
    Write a pickled representation of obj to the open file object
file. This is equivalent to Pickler(file, protocol).dump(obj).

    If the protocol parameter is omitted, protocol 0 is used. If
protocol is specified as a negative value or HIGHEST_PROTOCOL, the
highest protocol version will be used.

    Changed in version 2.3: Introduced the protocol parameter.

    file must have a write() method that accepts a single string
argument. It can thus be a file object opened for writing, a StringIO
object, or any other custom object that meets this interface.

load(file)
    Read a string from the open file object file and interpret it as a
pickle data stream, reconstructing and returning the original object
hierarchy. This is equivalent to Unpickler(file).load().

    file must have two methods, a read() method that takes an integer
argument, and a readline() method that requires no arguments. Both
methods should return a string. Thus file can be a file object opened
for reading, a StringIO object, or any other custom object that meets
this interface.

    This function automatically determines whether the data stream was
written in binary mode or not.
"""

Example use:



d = dict(a=1, b=2)
f = open("mydict.dat", "w")
pickle.dump(d, f)
f.close()
f = open("mydict.dat")
d2 = pickle.load(f)
f.close()
d2 == d
True
d2
{'a': 1, 'b': 2}

Now : it's not the first time - in a couple days - that you ask a
question that you wouldn't have asked if you had taken a couple
minutes doing the tutorial and/or reading the doc. This newsgroup is
*very* tolerant (in most other places on usenet, you would have get a
raw RTFM on the first question, and a PLONK on the second), but there
are still limits, and as far as I'm concerned you're not far from
them. So do yourself and the world a favour, read this:http://catb.org/~esr/faqs/smart-questions.html

and then this:http://docs.python.org/tut/tut.html

and next time someone points you to a specific module, have mercy and
*read* the doc before posting.

As far as I'm concerned, I won't anwser any of your questions unless
it's obvious that you have followed these advices (but then I'll be
happy to help if I can).- Hide quoted text -

- Show quoted text -

There is 'shelve'. It's just that you have to re-update each entry
when you modify, so it's just similarity you'd be saving.
.