假设我在文件 myClass.py 中有一个简单的 python 类定义
class Test:
A = []
而且我还有两个测试脚本。第一个脚本创建一个 Test 类型的对象,填充数组 A,并将结果腌制到一个文件中。它立即将其从文件中解开,并且仍然填充数组。第二个脚本只是从文件中提取出来,并且没有填充数组(即 A == [])。为什么是这样?
测试1.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