Я пишу скрипт на Python 3.7.2, который использует re.compile для поиска всех файлов в каталоге и возвращает каждую строку, в которой появляется конкретная строка. Работает нормально, за исключением двух проблем:
- В каталоге несколько сотен файлов, но скрипт работает только с первыми 25.
- Затем он повторно запускается против первых 25 на неопределенный срок.
Есть предложения? Вот сценарий:
import os
import re
err_occur = []
pattern = re.compile(r"An important phrase")
path = "/users/mypath/"
for filename in os.listdir(path):
try:
with open(os.path.join(path, filename), encoding="UTF-8") as in_file:
for linenum, line in enumerate(in_file):
if pattern.search(line) != None:
err_occur.append((linenum, line.rstrip('\n')))
for linenum, line in err_occur:
print(line, sep='')
except FileNotFoundError:
print("Input file not found.")