[英]get the name of most recent file in linux - PYTHON
我想从python中的特定目录获取最新文件的名称吗?
我用这个
import os
import glob
def get_latest_file(path, *paths):
"""Returns the name of the latest (most recent) file
of the joined path(s)"""
fullpath = os.path.join(path, *paths)
print fullpath
list_of_files = glob.glob(fullpath)
if not list_of_files:
return None
latest_file = max(list_of_files, key=os.path.getctime)
_, filename = os.path.split(latest_file)
return filename
if __name__ == "__main__":
print get_latest_file('ocr', 'uploads', '*.png')
但是我希望代码返回最新文件的名称而不指定文件扩展名。 假设有jpg,jpeg,png,gif
我希望摘要覆盖所有内容。
有输入吗?
在最后一行,您只需检索扩展名为.png的文件
get_latest_file('ocr', 'uploads', '*.png')
如果要检索不依赖扩展名的所有文件,则只需删除代码中glob.glob(' ')的扩展名规范即可。 这将检索目录中的所有文件。 如果您仍然需要任何扩展名,但没关系,您也可以使用glob.glob( 。*) 检索它们,我认为。
如果您不关心扩展名,则可以执行简单的os.walk迭代。 您可以根据需要将其扩展为过滤扩展。
import os
all_files = {}
root = 'C:\workspace\werkzeug-master'
for r, d, files in os.walk(root):
for f in files:
fp = os.path.join(root, r, f)
all_files[os.path.getmtime(fp)] = fp
keys = all_files.keys()
keys.sort(reverse = True)
print all_files[keys[0]]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.