回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>当我在文件中转储列表并重新启动程序并尝试检索它时,它返回一个空列表</p>
<p>我做错什么了吗</p>
<pre><code>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()
</code></pre>
<p>运行程序</p>
<pre><code>>>> einput()
>>> edisplay()
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
>>>
</code></pre>
<p>重新启动程序并运行显示功能</p>
<pre><code>>>> edisplay()
[]
>>>
</code></pre>