найти подходящую строку в тексте с Python - PullRequest
1 голос
/ 31 октября 2011

Я могу проверить, находится ли строка в текстовом файле с python, как показано ниже:

if(pdfname in open(filename).read()):
   //do something

Но как мне это проверить? Я хочу, чтобы совпадающая строка появилась. Спасибо.

Ответы [ 2 ]

1 голос
/ 31 октября 2011

Вы можете распечатать соответствующие строки со вторым оператором 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)
1 голос
/ 31 октября 2011

Просто зациклите файл:

handle = open(filename, 'r')

for line in handle:
  if pdfname in line:
    print line

handle.close()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...