所以我正在为我的游戏编写一个非常简单的保存系统,它不断将文件名保存为简单的变量名(在添加“:MinecraftText-turePack.txt”之前)。我通过它进行了打印(名称更改后),并且变量已更改,但它仍然给了我错误的文件名。有什么想法吗?谢谢。
if response == "save_pack":
print("What do you want to call it?")
name = input()
name = name + ":MinecraftText-turePack.txt"
pack = open(name, "w")
for each in inventory:
name, amount, recipe = each
pack.write(name)
pack.close()
编辑:可能是另一个重要的细节;它正在创建一个文件,只是名称错误
最佳答案
从用作函数的 print
语句中,我假设我们正在使用 Python 3。移动提示是可选的,但会删除一行代码。另外,为了清楚起见,我将第二个 name
变量重命名为 pname
并为文件名启动了一个名为 fname
的新变量。这样您就可以检查每一项。还可以尝试去掉文件名中的冒号(如迈克尔建议的那样)
if response == "save_pack":
name = input("What do you want to call it?\n")
fname = name + "-MinecraftText-turePack.txt"
pack = open(fname, "w")
for each in inventory:
pname, amount, recipe = each
pack.write(pname)
pack.close()
尽管这个答案稍微清楚一些,但您最初的示例从 Linux 提示符运行得很好。大多数非 UNIX 系统不喜欢文件名中的 :
。这是一些background特别是对于 Windows。
关于python - 变量名似乎被覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24988935/