Saving a Python dict to a file using pickle
This is my OLD blog. I've copied this post over to my NEW blog at:
http://www.saltycrane.com/blog/2008/01/saving-python-dict-to-file-using-pickle/
You should be redirected in 2 seconds.
Per Programming Python, 3rd Edition, there are a number of methods to store persistent data with Python:
- I often use flat files to read or write text (string) data using the os library.
- Flat files are read sequentially, but dbm files allow for keyed access to string data
- The pickle module can be used to store non-string Python data structures, such as Python dicts. However, the data is not keyed as with dbm files.
- shelve files combine the best of the dbm and pickle methods by storing pickled objects in dbm keyed files.
- I've read good things about the ZODB object-oriented database , but I don't know too much about it. Per the book, it is a more powerful alternative to shelves.
- The final option is interfacing with a full-fledged SQL relational databases. As I mentioned before, Python 2.5 has an interface to SQLite as part of the standard distribution.
Here is an example using pickle
which writes a Python dict to
a file and reads it back again:
import pickle # write python dict to a file mydict = {'a': 1, 'b': 2, 'c': 3} output = open('myfile.pkl', 'wb') pickle.dump(mydict, output) output.close() # read python dict back from the file pkl_file = open('myfile.pkl', 'rb') mydict2 = pickle.load(pkl_file) pkl_file.close() print mydict print mydict2
Results:
{'a': 1, 'c': 3, 'b': 2} {'a': 1, 'c': 3, 'b': 2}
No comments:
Post a Comment