Как мне прочитать последний измененный файл, который содержит определенную строку? - PullRequest
2 голосов
/ 17 ноября 2011

Я хочу найти последний измененный файл, который содержит строку, используя python. У меня есть много файлов в моем каталоге, поэтому сравнение дат не является привлекательным. Я ищу способ поиска файла по измененным данным до тех пор, пока не попаду в файл, содержащий нужную мне строку. Или, если есть лучший способ сделать это, было бы здорово.

1 Ответ

4 голосов
/ 17 ноября 2011

Для поиска последнего измененного файла в текущем каталоге, который содержит строку search_string, вы можете использовать этот код:

files = os.listdir(".")
files.sort(key=os.path.getmtime, reverse=True)
for name in files:
    with open(name) as f:
        if search_string in f.read():
            print name
            break

Сначала будут перечислены все файлы, отсортированы их по времени изменения, сначала самые новые, а затем перебирает список файлов, чтобы увидеть, содержат ли они search_string.

...