Я хочу взять отправленную пользователем строку и найти эту точную строку в файле журнала и напечатать номер строки - PullRequest
0 голосов
/ 20 апреля 2011

В настоящее время я использую регулярное выражение для поиска шаблона чисел в файле журнала. Я также хочу добавить еще одну возможность поиска, обычный пользователь отправил ascii строку поиска и распечатать номер строки. Это то, что я имею и пытаюсь обойти (помощь приветствуется):

logfile = open("13.00.log", "r")

searchString = raw_input("Enter search string: ")
for line in logfile:
    search_string = searchString.findall(line)
    for word in search_string:
        print word #ideally would like to create and write to a text file 

Ответы [ 2 ]

4 голосов
/ 20 апреля 2011

Прежде всего, у строк нет метода findall - я не знаю, откуда у вас это.Во-вторых, зачем вообще использовать строковый метод или регулярное выражение?Для простого поиска строк того типа, который вы описываете, достаточно in, как в if search_string in line:.Чтобы получить номера строк, быстрое решение - встроенная функция enumerate: for line_number, line in enumerate(logfile):.

1 голос
/ 20 апреля 2011

Ваш код выглядит довольно фрагментированным. Psuedocode будет выглядеть примерно так:

get_search_string
for line, line_no in logfile:
    if search_string in line:
        do output with line_no
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...