Мне нужно найти файл отладки для определенной строки или ошибки, а затем, как только она будет найдена, найдите файл по 6 строкам и затем распечатайте все, что имеет эта строка 6 выше. в этом.Python - Файлы - Изменение номеров строк на основе результатов поиска
import linecache
file = "/file.txt"
fh = open("/file.txt", "r")
lookup = 'No Output'
with fh as myFile:
for num, line in enumerate(myFile, 1):
if lookup in line:
numUp = num + 6
new = linecache.getline(file, numUp)
print new
Я пытался добавить что-то делать по линии «Num + = 6» всякий раз, когда я нахожу «Термин мне нужно искать», но мой выход пустым или я получаю эту ошибку:
File "testRead.py", line 12
print new
^
IndentationError: unexpected indent
Если есть еще один способ выполнить «поиск», затем сканировать n-строки, затем распечатать/вернуть »таким образом, что это строка за строкой, что было бы прекрасно знать, потому что файлы, которые я буду работать с сильно различаются по размеру.
Я увеличил пример файла некоторых из вещей, которые я обычно вижу: http://pastebin.com/mzvCfZid Любой раз, когда я попал в строку «(Err: Нет Output)», мне нужно найти связанный с ним идентификатор, который является номером 6 строк выше Ошибка. Так что «вывод не то, что мне нужно искать
:: Edit ::
Как представлено здесь, отступы исправить и запустить код. Проверьте исходный файл: у вас могут быть смешанные пробелы и табы или какая-то такая тонкая проблема с форматом. Однако код не генерирует выход, поскольку строка 'num + 6' пуста в' file.txt'. Я подозреваю, что вам может понадобиться строка 'num + 5'. – John1024