gpt4 book ai didi

python 程序不打印所有 pickle 文件数据

转载 作者:行者123 更新时间:2023-12-01 04:49:16 26 4
gpt4 key购买 nike

testdata = {}
testdata[Name] = Score
fileexists = os.path.isfile('TestResults- Class '+classnumber)
if fileexists == False:
open('TestResults- Class '+classnumber,mode="w+")
mypicklefile = open('TestResults- Class '+classnumber,mode="wb")
pickle.dump(testdata,mypicklefile)
mypicklefile.close()
elif fileexists == True:
mypicklefile = open('TestResults- Class '+classnumber,mode="ab")
pickle.dump(testdata,mypicklefile)
def teacher():
classchoice = input('what class would you like to see?: ')
readablefile = open('TestResults- Class '+classchoice,mode="rb")
datafile = pickle.load(readablefile)
for name in sorted(datafile):
print(name, datafile[name])

我正在做一个测验,并试图打印测验中的数据。问题是即使文件中存在更多分数或名称,它也只会打印一个名称和一个分数。

最佳答案

您正在通过附加方式将 pickles 写入文件。您的加载代码仅加载第一个 pickle,即您创建的第一个条目。

您始终需要使用'wb',将磁盘上的数据替换为新版本的词典。

尝试使用 'ab' 附加模式读取写入文件的其他 pickles 没有什么意义;这些都是同一本词典后来的修订版。您必须只读取最后一个文件,这与每次更新字典时替换整个文件相比效率很低。

关于python 程序不打印所有 pickle 文件数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28766136/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com