我有一个简单的游戏,我正在py 2.7中使用pickle来读写保存文件。
我是自学成才,我刚刚开始学习一周前。我通常可以在网上找到我的问题的解决方案,但这个问题对于它的目标来说已经花了太长时间,所以我要求一些帮助。
问题就是我尝试了这个/除了
f = file("VTSave2.pkl", "rb")
try:
game = load(f)
print "Game has been loaded from save 2."
except IOError:
pass
在保存阅读中。 VTSave2.pkl目前不存在 - 我正在使用这个事实来测试try / except。
虽然我确实得到了相应的错误,[Errno 2],但IOError传球手并没有做深蹲。而不是“加载取消”我得到一个退出程序和追溯。
我犯了愚蠢的错误吗?我还应该知道什么?我还应该提供更多信息吗?非常感谢您的光临!
编辑:谢谢!它现在有效。因为我有人试图“纠正”代码的格式,并且当我采用它时它最终破坏了我的编程,我已经取出了与问题不再相关的所有代码,以避免诱骗错误的清理。谢谢!
正确的工作代码:
try:
f = open("VTSave2.pkl", "rb")
game = load(f)
print "Game has been loaded from save 2."
except IOError:
pass
答案 0 :(得分:3)
这会引发异常
f = file("VTSave2.pkl", "rb")
您需要在try:
如果仔细阅读回溯,您应该会看到该行号
引发异常除此之外:file()
已弃用。您应该使用f = open("VTSave2.pkl", "rb")
。
答案 1 :(得分:0)
您的print "Load cancelled."
位于else
部分,不会像if
那样执行。
你可能想要重新考虑它。