【发布时间】:2016-11-26 06:12:15
【问题描述】:
我是一名初学者程序员,正在为绝对初学者阅读 Python 书籍。我在尝试为琐事游戏编写高分函数时遇到了一个问题。当调用函数'highscore(user,highscore):'时,我尝试相应地分配参数,以便我可以将信息腌制到文件中以供以后使用。但是我在尝试转储所需信息时遇到了错误。
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。 -
你可以通过谷歌搜索你的问题的标题找到一些额外的好信息。