我是一名初学者,正在学习《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()
因为我正在阅读这本书并且也看到了书架在运作,所以我也尝试使用它们,但是遇到了一些错误。所以暂时忽略'#'。
在pickle.dump这部分是我遇到错误的地方。我一直得到(如标题所示)写入参数错误。
我不明白为什么它没有把它们识别为字符串。因为当它们在主函数中被定义时,它确实是一个字符串..