我正在编写一个程序,该程序读取文档,然后搜索特定单词并返回包含该单词的行
我尝试了此示例,但返回的只是一个"Process finished with exit code 0"
。
def main():
f = open("xhtml.log", "r")
line = f.readline()
x= "Desktop"
while line:
#print(line)
line = f.readline()
print(line)
if line == x:
print(line)
f.close()
在此日志中,我有很多行都写有桌面,我需要将其打印出来,该怎么做?
答案 0 :(得分:1)
line == x
仅在行等于该值的情况下为True
。您需要使用:
if x in line:
print(line)
因此,它可以在每一行中搜索匹配的字符串,而不管该行的长度或字符串的位置如何。请注意,这是区分大小写的,并且只会匹配Desktop
而不匹配desktop
。如果要找到两者,请将它们与:
if x.lower() in line.lower():
print(line)
答案 1 :(得分:1)
如果该行与x中的字符串完全相同,则if语句if line == x
的结果为True。
因此,如果该行是“我的桌面很大”,而x是“桌面”,则将导致以下比较:
if "I have a big Desktop" == "Desktop":
print("This will never print")
您正在寻找的是:
if "Desktop" in "I have a big Desktop":
print("This will print")
替换为变量
if x in line:
print(line)