- 存储的过程:
- 用文本编辑器打开 test.data 查看里面的内容:
- 这就是经 pickle 序列化后的数据,隐约可以看到之前对象的影子。你可能无法看出这个文件的规律,这没关系,Python 能看懂就可以了。
- 下面取存储的过程:
- 控制台的输出:
- 如果你想保存多个对象,一种方法是把这些对象先全部放在一个序列中,在对这个序列进行存储:
Python 提供了一个标准模块来做这件事,就是 pickle。它可以把任何 Python 对象存储在文件中,再把它原样取出来
其实 Python 提供了一个标准模块来做这件事,就是 pickle。它可以把任何 Python 对象存储在文件中,再把它原样取出来。
“序列化”:将数据转成文本的过程,即将对象状态转换为可保持或传输的格式的过程。 “反序列化”:从序列化的格式中解析对象状态的过程。
存储的过程:
import pickle
test_data = ['Save me!', 123.456, True]
f = file('test.data', 'w')
pickle.dump(test_data, f)
f.close()
## 这样把 test_data 这个 list 存储在了文件 test.data 中。
用文本编辑器打开 test.data 查看里面的内容:
(lp0
S'Save me!'
p1
aF123.456
aI01
a.
这就是经 pickle 序列化后的数据,隐约可以看到之前对象的影子。你可能无法看出这个文件的规律,这没关系,Python 能看懂就可以了。
下面取存储的过程:
import pickle
f = file('test.data')
test_data = pickle.load(f)
f.close()
print test_data
控制台的输出:
[‘Save me!’, 123.456, True]
如果你想保存多个对象,一种方法是把这些对象先全部放在一个序列中,在对这个序列进行存储:
a = 123
b = "hello"
c = 0.618
data = (a, b, c)
...
pickle.dump(data, f)