我可以使用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)

10-07 22:30