You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取文件夹中最新创建的2个文件的日期?

获取指定文件夹中最新创建的2个文件的日期

下面是针对你需求的具体实现方案,用Python标准库就能搞定,适合新手理解:

核心实现代码(推荐用Pathlib,更简洁直观)

from pathlib import Path
import datetime

# 替换成你要查询的文件夹路径
target_folder = Path("/Users/xxx/Documents/test")

# 筛选文件夹下的所有文件(排除子目录),按创建时间倒序排序
sorted_files = sorted(
    [f for f in target_folder.iterdir() if f.is_file()],
    key=lambda file: file.stat().st_ctime,
    reverse=True
)

# 提取最新的2个文件及其创建时间
latest_two = sorted_files[:2]
for idx, file in enumerate(latest_two, 1):
    # 将时间戳转为易读的datetime对象
    create_datetime = datetime.datetime.fromtimestamp(file.stat().st_ctime)
    print(f"第{idx}新文件: {file.name},创建时间: {create_datetime.strftime('%Y-%m-%d %H:%M:%S')}")

# 示例:和特定日期对比
compare_date = datetime.datetime(2024, 6, 1)
for file in latest_two:
    create_datetime = datetime.datetime.fromtimestamp(file.stat().st_ctime)
    if create_datetime > compare_date:
        print(f"{file.name} 的创建时间晚于 {compare_date.strftime('%Y-%m-%d')}")
    else:
        print(f"{file.name} 的创建时间早于/等于 {compare_date.strftime('%Y-%m-%d')}")

关键细节说明

  • 关于创建时间的兼容性:
    • Windows系统中st_ctime就是文件的创建时间
    • Unix/Linux系统中st_ctime是文件元数据的最后修改时间,如果要获取Unix系统下的文件创建时间,可替换为file.stat().st_birthtime(仅支持macOS和部分Linux发行版)
    • 如果需要的是文件最后修改时间而非创建时间,改用file.stat().st_mtime即可
  • 异常处理(可选但实用):如果怕路径错误或权限问题,可添加异常捕获:
try:
    sorted_files = sorted(
        [f for f in target_folder.iterdir() if f.is_file()],
        key=lambda file: file.stat().st_ctime,
        reverse=True
    )
except FileNotFoundError:
    print("错误:指定的文件夹不存在,请检查路径!")
except PermissionError:
    print("错误:没有访问该文件夹的权限!")

内容的提问来源于stack exchange,提问作者LearningPython

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 19:33:10