Есть ли функция python для чтения файлов в папке в порядке изменения времени? - PullRequest
0 голосов
/ 10 июля 2020

У меня есть папка с файлами, 1.pkl, 2.pkl, 11.pkl, 12.pkl, создаются последовательно.

При использовании кода 'os.listdir (path)', чтобы прочтите папку, порядок файлов :

1.pkl

11.pkl

12.pkl

2.pkl

Как я могу прочитать файл в порядке времени изменения?

Ответы [ 2 ]

1 голос
/ 10 июля 2020

Используйте os.scandir и , sorted функцию вместе для эффективного достижения эффекта:

entries = sorted(os.scandir(path), key=lambda ent: ent.stat().st_mtime)

Если вам не нужен другой особенности созданных им DirEntry объектов , простое понимание list для изменения атрибутов .name или .path решит эту проблему, например, чтобы получить имена (без полного пути):

names = [ent.name for ent in entries]
0 голосов
/ 10 июля 2020

Попробуйте os.stat

path = '.'

import os

files_with_times = [(f, os.stat(f).st_mtime) for f in os.listdir(path)]
for f,t in sorted(files_with_times, key=lambda x: x[1]):
    print(f)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...