Python 获取目录下最新文件
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)
代码说明:
get_latest_file(directory)函数接收目录路径作为参数,返回最新修改的文件路径。- 使用
os.listdir(directory)获取目录下所有文件和子目录。 - 使用列表推导式拼接完整文件路径。
- 使用
os.path.isfile(f)过滤掉子目录,仅保留文件。 - 使用
sorted(files, key=os.path.getmtime)按照最后修改时间对文件列表进行排序。 - 如果文件列表不为空,则返回最后一个元素(即最新修改的文件路径),否则返回
None。
异常处理:
上述代码已经包含了对空目录的处理,如果目录为空,则 get_latest_file() 函数会返回 None。
在实际应用中,还可以根据需要添加其他异常处理逻辑,例如处理目录不存在、权限不足等异常情况。
原文地址: https://www.cveoy.top/t/topic/exLp 著作权归作者所有。请勿转载和采集!