使用pickle为我的游戏创建保存/加载功能的问题(Python)
Posted
技术标签:
【中文标题】使用pickle为我的游戏创建保存/加载功能的问题(Python)【英文标题】:Problems using pickle to create a save/load function for my game (Python) 【发布时间】:2013-12-22 18:40:23 【问题描述】:我正在尝试使用 pickle 为我的第一个基本游戏创建保存/加载功能,但出现错误。
我的代码是
def load():
with open('save_game.dat', 'wb') as f:
player_money,weed = pickle.load
我的回溯是
Traceback (most recent call last):
File "<string>", line 301, in runcode
File "<interactive input>", line 1, in <module>
File "C:\Users\Jake\Pictures\Documents\Blue Coat\Compooting\Weed Game.py", line 23, in load
player_money,weed = pickle.load
TypeError: 'builtin_function_or_method' object is not iterable
我将代码更改为包含 (f),但仍然出现此错误
Traceback (most recent call last):
File "<string>", line 301, in runcode
File "<interactive input>", line 1, in <module>
File "C:\Users\Jake\Pictures\Documents\Blue Coat\Compooting\Weed Game.py", line 23, in load
player_money,weed = pickle.load(f)
io.UnsupportedOperation: read
【问题讨论】:
pickle.load(f)
缺少括号和参数
啊谢谢,没注意
您正在从文件中读取,将参数更改为rb
而不是wb
好的,谢谢,我从另一个答案中复制了它,所以我不知道这是什么意思
r
表示读取,w
表示写入,b
表示二进制,详见here
【参考方案1】:
查看 Python documentation on file modes -- 在您的代码中,“wb”应改为“rb”。
【讨论】:
以上是关于使用pickle为我的游戏创建保存/加载功能的问题(Python)的主要内容,如果未能解决你的问题,请参考以下文章