python的pickle在load的时候报 Ran out of input是什么原因?

import pickle
a=[1,2,3,4,5]
f=open("d:/pickletest.pk","wb")
pickle.dump(a,f)
print("-=-=-=-=\n")

fr=open("d:/pickletest.pk","rb")
rpk=pickle.load(fr)
print(type(rpk),"[]",rpk)
print("end")

clipboard.png

Traceback (most recent call last):
  File "test1.py", line 8, in <module>
    rpk=pickle.load(fr)
EOFError: Ran out of input
阅读 14k
3 个回答

在操作文件的时候推送这样的写法,这样会自动释放

with open("d:/pickletest.pk","wb") as f:
    pickle.dump(a,f)
  

楼上正解,善用with open()

自问自答,加一句f.close()就好了。。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题