您的位置:首页 > 编程语言 > Python开发

Saving a Python dict to a file using pickle

2017-07-06 17:16 274 查看
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}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: