【发布时间】:2016-02-27 19:08:15
【问题描述】:
我是一名 GCSE 学生,遇到了一个问题,要求我将学生姓名和考试成绩保存到文件中,以便以后检索和处理。
我决定将数据存储在字典中,我将根据需要对其进行腌制和检索。我知道如何腌制字典并检索以前腌制过的字典。
我的问题只在程序第一次运行时出现,因为尚未创建 dat 文件。
下面的代码打开现有的 Dat 文件,并将最新的学生姓名和分数写入文件中保存的字典。
f = open("class1.dat","ab+")
class1 = pickle.load(f)
class1[Name]=Score
pickle.dump(class1,f)
f.close
问题在于,一旦将第一个分数保存到 Dat 文件中,它就可以工作,但我在第一次运行程序时收到此错误消息。
Traceback (most recent call last):
File "C:\Python34\Latest_Version.py", line 61, in <module>
class1 = pickle.load(f)
EOFError: Ran out of input
我意识到这是因为 dat 文件还不存在。
什么代码会先检查 Dat 文件是否存在?
如果您能提供帮助,请保持简单,因为我的知识有限。
【问题讨论】:
-
先运行
f.seek(0)。
标签: python dictionary pickle