首页 > 解决方案 > 在 python 中使用 glob 不返回最新的文件路径

问题描述

我正在尝试监视日志文件夹。如果创建了任何新文件,则必须返回文件路径。为此,我使用了以下代码:

import glob
list_of_files_in_real_predicted = glob.iglob(r'logging\real_predicted\*')
latest_file_in_real_predicted = max(list_of_files_in_real_predicted, key=os.path.getctime)
print(latest_file_in_real_predicted)

返回的输出是:logging\real_predicted\log935.csv
而不是:logging\real_predicted\log0.csv

这是文件夹的快照,可以看到最新创建的文件;
我的文件夹结构

请让我知道我可以做些什么来获取最新创建的文件。

标签: pythonpython-3.xfile

解决方案


getctime不同于getmtime. 您在 windows 中看到的(以及真正有用且广泛使用的)是modify time。你要:

latest_file_in_real_predicted = max(list_of_files_in_real_predicted, key=os.path.getmtime)

修改时间与文件内容的最后修改时间相匹配。可能是每个人都使用它的原因。

getctime甚至不是文件创建日期:

ctime 表示上次更改 inode 的时间

来源:unix系统中python-getmtime()和getctime()的区别


推荐阅读