我使用
创建了一个保存文件def Save():
savefile = open('save.txt','w')
savefile.write(str(currentLocation)+'\n')
savefile.close()
print("GAME SAVED!", file=sys.stderr)
工作正常,但是当我使用...
加载它时def Load():
savefile = open('save.txt', 'r')
for line in savefile:
currentLocation.append(currentLocation)
savefile.close()
我收到一个错误:
AttributeError: 'int' object has no attribute 'append'.
你有什么理由可以想到为什么这不起作用?
答案 0 :(得分:0)
您正在尝试附加到非列表类型对象:
currentLocation 不是列表
如果您的文件只包含一行(带有要加载的数字),那么您可以读取文件并删除内容以获取没有新行,空格等的数字。
def Load():
with open('save.txt', 'r') as loadfile:
currentLocation = int(loadfile.read().strip())
上面的 with 语句会在嵌套的代码块后自动关闭文件。
还有 int casting 将读取的数字从字符串转换为int。