Python 获取目录下最新文件

在 Python 中,可以使用 os.listdir() 函数获取指定目录下的所有文件和子目录,然后利用 os.path.getmtime() 函数获取每个文件的最后修改时间,最后对文件列表进行排序即可找到最新修改的文件。

以下是一个示例代码:

import os

def get_latest_file(directory):
    # 获取目录下所有文件和子目录
    files = os.listdir(directory)
    # 拼接完整文件路径
    files = [os.path.join(directory, file) for file in files]
    # 过滤掉子目录,仅保留文件
    files = [f for f in files if os.path.isfile(f)]
    # 按照最后修改时间排序
    files = sorted(files, key=os.path.getmtime)
    # 返回最新修改的文件路径
    return files[-1] if files else None

# 指定目录路径
directory = 'path/to/directory'
# 获取最新文件路径
latest_file = get_latest_file(directory)
# 打印最新文件路径
print(latest_file)

代码说明:

  1. get_latest_file(directory) 函数接收目录路径作为参数,返回最新修改的文件路径。
  2. 使用 os.listdir(directory) 获取目录下所有文件和子目录。
  3. 使用列表推导式拼接完整文件路径。
  4. 使用 os.path.isfile(f) 过滤掉子目录,仅保留文件。
  5. 使用 sorted(files, key=os.path.getmtime) 按照最后修改时间对文件列表进行排序。
  6. 如果文件列表不为空,则返回最后一个元素(即最新修改的文件路径),否则返回 None

异常处理:

上述代码已经包含了对空目录的处理,如果目录为空,则 get_latest_file() 函数会返回 None

在实际应用中,还可以根据需要添加其他异常处理逻辑,例如处理目录不存在、权限不足等异常情况。

Python 获取目录下最新文件

原文地址: https://www.cveoy.top/t/topic/exLp 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录