gpt4 book ai didi

python 让 glob 只返回 5 个最近的文件匹配

转载 作者:太空狗 更新时间:2023-10-29 11:38:35 25 4
gpt4 key购买 nike

我是 python 新手,所以请温柔点..

我正在使用 glob 来收集与特定模式匹配的文件列表

for name in glob.glob('/home/myfiles/*_customer_records_2323_*.zip')
print '\t', name

输出是这样的

/home/myfiles/20130110_customer_records_2323_something.zip
/home/myfiles/20130102_customer_records_2323_something.zip
/home/myfiles/20130101_customer_records_2323_something.zip
/home/myfiles/20130103_customer_records_2323_something.zip
/home/myfiles/20130104_customer_records_2323_something.zip
/home/myfiles/20130105_customer_records_2323_something.zip
/home/myfiles/20130107_customer_records_2323_something.zip
/home/myfiles/20130106_customer_records_2323_something.zip

但我希望输出仅为最新的 5 个文件(通过时间戳或操作系统报告的创建时间)

/home/myfiles/20130106_customer_records_2323_something.zip
/home/myfiles/20130107_customer_records_2323_something.zip
/home/myfiles/20130108_customer_records_2323_something.zip
/home/myfiles/20130109_customer_records_2323_something.zip
/home/myfiles/20130110_customer_records_2323_something.zip

关于如何实现这一点的想法? (是否对列表进行排序,然后只包含最新的 5 个文件?)

更新修改以显示默认情况下如何不对 glob 的输出进行排序

最佳答案

使用列表切片:

for name in glob.glob('/home/myfiles/*_customer_records_2323_*.zip')[-5:]:
print '\t', name

编辑:如果 glob 没有自动对输出进行排序,请尝试以下操作:

for name in sorted(glob.glob('/home/myfiles/*_customer_records_2323_*.zip'))[-5:]:
print '\t', name

关于python 让 glob 只返回 5 个最近的文件匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14742551/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com