所以我有一个html文件,我正在读取文件的前四行,并将它们与字符串“ <\ html>”进行比较。由于某种原因,程序无法找到该字符串。 (没有“ \”是要搜索的字符串)
我尝试将每一行保存为字符串,然后将其与要搜索的字符串进行比较,但这仍然行不通。
def search():
with open('cate.html') as ht:
for cnt, line in enumerate(ht):
if line is '<html>':
print("found")
找到html时,程序应该只打印找到的内容。 html文件的前四行是:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
我也尝试使用print(line)打印html文档的每一行,并且有效。
答案 0 :(得分:0)
break
语句应放在if line is '<html>':
内,这样for
循环仅在存在匹配项时才中断。line.strip()
删除结尾的字符。is
运算符不测试两个变量是否具有相同的值,而是测试它们是否指向相同的对象。使用==
比较值。有效的实现方式:
def search():
with open('cate.html') as ht:
for cnt, line in enumerate(ht):
print(line.strip())
if cnt < 4:
if line.strip() == '<html>':
print("found")
break
输出:
<!DOCTYPE html>
<html>
found