我可以使用python测试字符串是否在文本文件中,如下所示:
if(pdfname in open(filename).read()):
//do something
但是我该如何验证呢?我要显示匹配的行。谢谢。
最佳答案
您可以使用下面的第二个for
语句打印相关行,我已将其添加到现有代码中以进行说明:
pdfname = "statementConcentrator"
if (pdfname in open("line56.good").read()):
print "Found it"
lineNum = 0
for line in open("line56.good").readlines():
lineNum = lineNum + 1
if pdfname in line:
print "#%5d: %s"%(lineNum, line[:-1])
这将输出您当前的行以及我的输出以供验证:
Found it
# 115: statementConcentrator=0
然后检查该文件,确实是找到该行。
请注意,您可以简单地使用以下脚本在一个循环中完成两个作业:
pdfname = "statementConcentrator"
lineNum = 0
count = 0
for line in open("line56.good").readlines():
lineNum = lineNum + 1
if pdfname in line:
print "#%5d: %s"%(lineNum, line[:-1])
count = count + 1
print "Found on %d line(s)."%(count)