【发布时间】:2015-05-06 12:55:52
【问题描述】:
我目前正在制作一个游戏,最后,用户的姓名和经验值将保存在字典中的文件中。然后,我将调用文件并打印出玩家的姓名和各自的经历。
但是,由于某种原因,我收到“TypeError: must be str, not bytes”
我不知道如何解决这个问题,对我来说我的代码看起来很准确。我该如何解决这个错误?
代码
import pickle
game_winners_tracker=open("C://Users//Documents//GameWinners.txt", "a")
finalname=str(x.character_name)
finalexp=str(x.exp)
print(finalname)
print(finalexp)
dumping={finalname:finalexp}
pickle.dump(dumping,game_winners_tracker)
game_winners_tracker.close
game_winners_tracker_second=open("C://Users//Documents//GameWinners.txt", "rb")
names_scores=pickle.load(game_winners_tracker_second)
print(names_scores)
print("The End!")
注意
当我在上面的代码中调用 print finalname 和 finalexp 时(只是为了测试查看 x.character_name 和 x.exp 中的内容)我得到了我所期望的 -
I.E 它将打印:
Megan 130.5
我将两者都转换为字符串,为什么会出现 TypeError?
【问题讨论】:
-
你在没有
b的情况下打开它 -
你在哪一行得到了错误?
标签: python dictionary pickle