【发布时间】:2012-06-06 05:43:48
【问题描述】:
假设我在 myClass.py 文件中有一个简单的 python 类定义
class Test:
A = []
我还有两个测试脚本。第一个脚本创建一个 Test 类型的对象,填充数组 A,并将结果腌制到一个文件中。它立即将其从文件中解开,并且仍然填充数组。 第二个脚本只是从文件中提取出来,数组没有被填充(即 A == [])。这是为什么呢?
test1.py
import myClass
import pickle
x = myClass.Test()
for i in xrange(5):
x.A.append(i)
f = open('data', 'w')
pickle.dump(x,f)
f.close()
f = open('data')
y = pickle.load(f)
f.close
print y.A
和 test2.py
import myClass
import pickle
f = open('data')
y = pickle.load(f)
f.close
print y.A
【问题讨论】: