ファイル myClass.py に単純な python クラス定義があるとします。
class Test:
A = []
また、2 つのテスト スクリプトもあります。最初のスクリプトは、Test 型のオブジェクトを作成し、配列 A に値を入力して、結果をファイルにピクルします。ファイルからすぐに unpickle し、配列にはまだ値が設定されています。2 番目のスクリプトは、ファイルから unpickle するだけで、配列にはデータが取り込まれません (つまり、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