當我轉儲文件中的列表並重新啓動程序並嘗試檢索它時,它會返回一個空列表。在一個類中列出不是傾銷到文件
我做錯了什麼?
import pickle
class student():
s1marks=[]
def getdata(self):
for i in range(20):
self.s1marks.append(i)
def outdata(self):
print self.s1marks
def einput():
f=open('student1.dat','ab')
e=student()
e.getdata()
pickle.dump(e,f)
f.close()
def edisplay():
f=open('student1.dat','rb')
try:
while True:
e=pickle.load(f)
e.outdata()
except EOFError:
pass
f.close()
運行程序。
>>> einput()
>>> edisplay()
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
>>>
重新啓動程序並運行顯示功能
>>> edisplay()
[]
>>>
對於那些可能會感到疑惑變通,閱讀doc [什麼可以被醃漬和取消?](https://docs.python.org/2/library/pickle.html#what-can-be-pickled-and-unpickled) –