Aus*_*ard 14 python string byte pickle
我是初学程序员,正在为绝对的初学者编写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()
Run Code Online (Sandbox Code Playgroud)
因为我正在阅读这本书,并且还看到了我正在尝试使用它们的架子,但是遇到了他们自己的一组错误.所以现在忽略'#'.
在部分pickle.dump是我生成错误的地方.我一直得到(如标题所示)写入参数错误.
我不明白为什么它不认识它们为字符串.当它们在main函数中定义时,它确实是一个字符串..
Mar*_*ers 20
看起来你正在编写一本针对Python 2的书.你需要以二进制模式打开文件; 添加b到模式:
Hscore = open('highscore.txt', 'ab')
Run Code Online (Sandbox Code Playgroud)
如果您的书包含更多类似的问题,那么可能是时候切换到支持Python 3或至少为了完成书籍练习而安装Python 2.7的书.
| 归档时间: |
|
| 查看次数: |
27256 次 |
| 最近记录: |