所以我正在为我的游戏编写一个非常简单的保存系统,并且它一直将文件名保存为变量名称(在添加“: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()
编辑:可能是另一个重要细节;它正在创建一个文件,名称错误
答案 0 :(得分:2)
从用作函数的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系统不喜欢文件名中的:
。以下是Windows的background。
答案 1 :(得分:1)