提问者:小点点

Python:检查文件中是否有特定的文本行


我想要一个Python程序,它将读取一个文本文件,然后打印是否在该文件中找到了特定的文本字符串。

下面是我无法工作的代码:

f=open("to-read.txt","r")

found = False
for x in f.readlines():
    print(x)
    if x is "Hello, World!" or x is "Hello, World!\n":
        found = True

print(found)

我希望代码打印true,如果Hello,World在to-read.txt中的任何行上,如果不是,则打印false

当我运行它时,它读行,但从未找到“Hello,World!”。


共2个答案

匿名用户

with open("to-read.txt", "r") as f:
   found = any("Hello, World!" in x for x in f)

print(found)

或者,如果你想确定这句话是“你好,世界!” 您可以使用==,而不是包含它。

    found = any(x == "Hello, World!\n" for x in f)

甚至只是

    found = "Hello, World!\n" in f.readlines()

匿名用户

可以使用in关键字检查文件中是否存在特定字符串

with open('to-read.txt', 'r') as f:
    lines = [line.strip('\n') for line in f.readlines]    # Getting each line without the new_line '\n'

    if 'Hello, World!' in lines:
        print(True)

    else:
         print(False)