繁体   English   中英

获取Linux中最新文件的名称-PYTHON

[英]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.

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