假设我有一个像这样的文件列表:
我知道如何使用来读取最新文件max(list_of_files, key=os.path.getmtime)
,但是它可以是任何最后创建的文件。
我想读取名称中包含“ name”的文件,并且该文件是最后创建的(例如“ def_name.txt”)。
我该如何在python中做到这一点?
非常感谢。
假设您运行一个bash
命令:
$ ch /tmp
$ touch abc_name.txt def_name.txt ghj_name.txt abcdefghj.txt xyz.txt
在Python中,您可以使用pathlib遍历文件所在的目录,并可以很好地控制要测试的时间元素。
from pathlib import Path
p=Path('/tmp')
max([fn for fn in p.glob('*.txt') if 'name' in str(fn)], key=lambda f: f.stat().st_mtime)
# /tmp/ghj_name.txt
您还可以更改glob,以便仅name
返回其中包含的文件:
max([fn for fn in p.glob('*name*.txt')], key=lambda f: f.stat().st_mtime)
# same result
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句