>>> import pickle
>>> x = y = [1, 2]
>>> with open('test.txt', 'w') as f:
pickle.dump(x, f)
pickle.dump(y, f)
>>> with open('test.txt') as f:
x = pickle.load(f)
y = pickle.load(f)
>>> x == y
True
>>> x is y
False
如果希望两个名称在load返回引用后共享引用,可以pickle一个容器:
>>> x = y = [1, 2]
>>> with open('text.txt', 'w') as f:
pickle.dump([x, y], f)
>>> with open('text.txt') as f:
x, y = pickle.load(f)
>>> x == y
True
>>> x is y
True
如果将
x
和y
作为两个单独的列表进行pickle,则在取消pickle时,它们不会共享引用,而不管它们是否事先共享;对象,而不是引用,将被pickle:如果希望两个名称在
load
返回引用后共享引用,可以pickle
一个容器:不过,你最好还是列一张单子吧!你知道吗
相关问题 更多 >
编程相关推荐