Пишу парсер логов.
Задача:
1) рекурсивно парсить файлы в директории и всех вложенных директориях.
2) при нахождении нужного шаблона, введенного в качестве аргумента скрипту вручную, подниматься и парсить несколько строк выше, чтобы получить дату и время события в логе (такова структура лога).
dir = '/var/log/mysoft/'
for root, dirs, files in os.walk(dir):
for name in files:
fullname = os.path.join(root, name)
fh = open(fullname)
for line in fh.readlines():
if re.search(sys.argv[1], line):
print fullname
print line
Не знаю как получить номер строки и соответственно при нахождении нужной строки не знаю, как начать парсить строки выше на предмет наличия даты.
Подойдет ли данной задачи что-то еще кроме readlines()?
Поиск по форуму выдал только это - http://python.su/forum/viewtopic.php?id=4103
Но я изначально не знаю, какая строка мне нужна.