write()参数必须是str,而不是bytes。
write()参数必须是str,而不是bytes。
这个问题已经有了答案:
我是一名初学者程序员,正在学习《Python入门教程》这本书。我在为知识问答游戏编写高分函数时遇到了问题。当调用函数 \'highscore(user, highscore):\' 时,我尝试相应地分配参数,以便可以将信息pickle到文件中以备以后使用。但是,我在尝试转储所需信息时遇到了错误。
def highscore(user, highscore): '''stores the players score to a file.''' import pickle, shelve user = '' highscore = 0 #Hscore = shelve.open('highscore.dat', 'c') Hscore = open('highscore.txt', 'a') pickle.dump(user, Hscore) pickle.dump(highscore, Hscore) #Hscore.sync() Hscore.close()
由于我正在阅读这本书,并且也看到过shelf的用法,因此我也尝试使用它们,但是遇到了自己的一套错误。所以暂时忽略此时的 \'#\'。
在pickle.dump部分是我正在生成错误。正如标题所示,我一直得到写入参数错误。
我不明白为什么它没有将它们识别为字符串。因为当它们在主函数中被定义时,确实是一个字符串..
admin 更改状态以发布 2023年5月20日