繁体   English   中英

如何获取目录 Python 中最后 4 个修改的文件

[英]How to get the last 4 modified files in directory Python

我经常需要解析一个凌乱的应用程序的日志。 这个应用程序有很多实例,每个实例都有很多日志。 对于这个应用程序的每个实例,我需要在每个日志目录中搜索最新的 4 个文件来查找文件,我该如何实现呢? 我知道如何获取最新文件,但我不知道如何让它倒数 4 次:

list_of_files = glob.glob('D:\logs\Worker1\*') # * means all if need specific format then *.csv
latest_file = max(list_of_files, key=os.path.getmtime)

你非常接近:

list_of_files = glob.glob(r'D:\logs\Worker1\*')
list_of_files.sort(key=os.path.getmtime)
newest = list_of_files[-4:]

为什么不获取所有修改时间,按降序排序,然后选择前 4 个?

像这样的东西:

files_modified_list = [(f, os.path.getmtime(f)) for f in list_of_files]
sorted_files_modified_list = sorted(file_modified_list, key=lambda x: x[1])
top_4_latest_files = [f[0] for f in sorted_files_modified_list[0:3]]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM