dump a multi dimensional dictionary

John Gordon gordon at panix.com
Fri Jul 26 17:00:24 EDT 2013


In <efdc6f6b-c061-4d3d-9d02-c397f8953d93 at googlegroups.com> cerr <ron.eggler at gmail.com> writes:

> Can I somehow use pickle.dump() to store a dictionary of lists to a file?
> I tried this:

>     >>> import pickle
>     >>> mylist = []
>     >>> mydict = {}
>     >>> mylist = '1','2'
>     >>> mydict['3'] = mylist
>     >>> fhg = open ("test", 'w')
>     >>> pickle.dump(fhg,mydict)
>     Traceback (most recent call last):
>       File "<stdin>", line 1, in <module>
>       File "/usr/lib/python2.7/pickle.py", line 1370, in dump
>         Pickler(file, protocol).dump(obj)
>       File "/usr/lib/python2.7/pickle.py", line 203, in __init__
>         self.write = file.write
>     AttributeError: 'dict' object has no attribute 'write'
>     >>> print mydict
>     {'3': ('1', '2')}

> or should I just write my own dump function that can hanle thiS?

I think you have the arguments to pickle.dump() in the wrong order.
The data to be dumped should come first, then the file object.

-- 
John Gordon                   A is for Amy, who fell down the stairs
gordon at panix.com              B is for Basil, assaulted by bears
                                -- Edward Gorey, "The Gashlycrumb Tinies"




More information about the Python-list mailing list