0

我是这个网站和 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)
4

2 回答 2

0

这真的是你程序的缩进吗?

如上所述,在 wordlibrary 循环的第一次迭代中,将试验与该行进行比较,并且由于(根据您的症状)它不包含在第一行中,因此程序继续执行循环的下一部分:由于 write==1,它会将试验附加到 text_file。

干杯,阿姆农

于 2013-01-14T09:18:00.370 回答
0

您不需要事先知道文件中存在的行数。只需使用文件迭代器。您可以在此处找到文档:http: //docs.python.org/2/library/stdtypes.html#bltin-file-objects

特别注意 readlines 方法。

于 2013-01-14T15:57:28.970 回答