我是一名GCSE学生,有一个问题需要我将学生姓名和考试成绩保存到一个文件中,以便以后检索和操作。在
我决定将数据存储在一个字典中,我将根据需要对其进行pickle和检索,我知道如何pickle一个字典并检索以前的pickle字典。在
我遇到的问题只发生在程序第一次运行时,因为dat文件尚未创建。在
下面的代码打开现有的Dat文件,并将最新的学生姓名和分数写入文件中保存的字典中。在
f = open("class1.dat","ab+")
class1 = pickle.load(f)
class1[Name]=Score
pickle.dump(class1,f)
f.close
问题是,一旦第一个分数被保存到Dat文件中,这个方法就起作用了,但是我在程序第一次运行时收到了这个错误消息。在
^{pr2}$我意识到这是因为dat文件还不存在。在
什么代码会检查Dat文件是否首先存在?在
如果你能帮忙,请保持简单,因为我的知识有限。在
发生这种情况的原因是,pickle文件中没有数据可以开始。您需要运行一个检查,看看是否有数据要加载。因此,您可以在try/except中抛出代码,以检查是否可以加载数据。如果不能,请将初始数据(空数据)写入pickle文件。在
此外,请注意显式设置对文件的读写。在
因此,这里发生的是,首先声明一个空字典,然后尝试加载内容。如果失败,它将落入
except
,转储空数据。所以下次你进来的时候,它会成功加载,你可以写下你的数据,然后把pickle转储掉。在相关问题 更多 >
编程相关推荐