Получить последний записанный файл из серии подпапок - PullRequest
0 голосов
/ 22 мая 2019

Я пробовал это решение:
Как получить последний файл в папке, используя python

Код, который я пробовал:

import glob
import os

list_of_files = glob.glob('/path/to/folder/**/*.csv') 
latest_file = max(list_of_files, key=os.path.getctime)
print (latest_file)

Я получил выходные данные относительно журнала временных меток Windows для файлов.

Но я веду отдельный журнал для записи файлов в соответствующую подпапку.

Когда я открываю журнал, я вижу, что последний обновленный файл не был тем, что указывал код Python.

Я был шокирован, поскольку мой полный процесс зависел от последнего записанного файла.
Пожалуйста, дайте мне знать, что я могу сделать, чтобы получить последний обновленный файл через Python

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

У кого-нибудь есть другой способ высмотреть это?

Ответы [ 2 ]

1 голос
/ 22 мая 2019

В linux os.path.getctime () возвращает время последнего изменения, а в окнах - время создания.Вам нужно использовать os.path.getmtime, чтобы получить время изменения для окон.

import glob
import os

list_of_files = glob.glob('/path/to/folder/**/*.csv') 
latest_file = max(list_of_files, key=os.path.getmtime)
print (latest_file)

Этот код должен работать для вас.

1 голос
/ 22 мая 2019

os.path.getctime - это время создания времени файла - кажется, вы хотите os.path.getmtime, которое является модификацией временифайла, поэтому попробуйте:

latest_file = max(list_of_files, key=os.path.getmtime)

и посмотрите, будет ли это то, что вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...