我有不到一年的编程经验。在学习读写文件时,我遇到了这个教程:http ://www.penzilla.net/tutorials/python/fileio/
本教程提供以下示例作为创建和写入文件的简单脚本:
# Let's create a file and write it to disk.
filename = "test.dat"
# Let's create some data:
done = 0
namelist = []
while not done:
name = raw_input("Enter a name:")
if type(name) == type(""):
namelist.append(name)
else:
break
# Create a file object:
# in "write" mode
FILE = open(filename,"w")
# Write all the lines at once:
FILE.writelines(namelist)
# Alternatively write them one by one:
for name in namelist:
FILE.write(name)
FILE.close()
我复制了这段代码并通过 Python 2.7.3 Shell 运行它。我被反复提示输入附加到将写入文件的列表的字符串(这对我来说很有意义)。我不明白的是退出 While 循环的条件(“虽然未完成:”)。我认为这意味着我在提示符下键入 done 以退出循环并随后写入文件,但 done 没有任何效果。然后我认为在提示符下输入的任何非字符串都应该打破循环并写入文件。我根本无法打破循环;对于我在提示符下输入的任何内容,我只是再次提示“输入名称:”。
通过删除 While 循环并保留 if/else 语句,我使代码适用于单个提示。有人可以告诉我我在这里不明白的地方吗?我猜这是一个相当简单的概念,在教程中没有解释,因为它被认为是显而易见的。由于“完成”是一个如此常见的词,我无法找到任何 Python 特定的含义。