我对这个网站和python都很新,所以对我很轻松。使用Python 3.3
我正在制作一个刽子手式的游戏,所有这些都是一个方面。我想检查字符串是否在.txt文件中,如果不是,则将其写入.txt文件末尾的新行。目前,我可以在新行上写入文本文件,但如果该字符串已经存在,它仍然写入文本文件,我的代码如下:
请注意,我的文本文件的每个字符串都在单独的行
上write = 1
if over == 1:
print("I Win")
wordlibrary = file('allwords.txt')
for line in wordlibrary:
if trial in line:
write = 0
if write == 1:
with open("allwords.txt", "a") as text_file:
text_file.write("\n")
text_file.write(trial)
答案 0 :(得分:0)
这真的是你程序的缩进吗?
如上所述,在wordlibrary上的循环的第一次迭代中, 将该试验与该行进行比较,并且由于(根据您的症状)它不包含在第一行中,程序将继续进入循环的下一部分:因为write == 1,它将试用版附加到text_file。
欢呼声, 暗嫩
答案 1 :(得分:0)
您不需要事先知道文件中存在的行数。只需使用文件迭代器。您可以在此处找到文档:http://docs.python.org/2/library/stdtypes.html#bltin-file-objects
特别注意readlines方法。