Pickle с пользовательскими классами

Предположим, у меня есть простое определение класса python в файле myClass.py

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
21
задан Joe 31 May 2012 в 23:21
поделиться