10
我是一名初学者程序员,正在为绝对的初学者准备书籍python。我遇到了一个问题,试图为琐事游戏写出高分的功能。当函数'highscore(user,highscore):'被调用时,我尝试相应地分配参数,这样我就可以将信息腌制到一个文件中供以后使用。但是我遇到了一个错误,试图转储所需的信息。write()参数必须是str,而不是字节
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()
,因为我的工作,通过这本书,也看到在行动我使用他们太多,但碰上自己的一套错误的尝试货架。所以现在忽略'#'。
在部分pickle.dump是我产生错误的地方。我不断得到(如标题所示)写入参数错误。
我不明白为什么它不会将它们识别为字符串。因为当它们在主函数中被定义时,它确实是一个字符串。
尝试使用'ab'模式。无论何时使用'pickle',在文件模式下都应该有'b'。 –
您可以通过使用Google搜索您的问题标题找到其他一些有用的信息。 – TigerhawkT3