首页 > 解决方案 > 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.txtFalse如果不是。

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

标签: python

解决方案


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

print(found)

或者,如果您想确保该行完全是“Hello, World!” 而不是包含它,您可以使用==.

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

甚至只是

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

推荐阅读