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

Python如何获取未知文件名的新增文件的创建时间?

处理未知文件名的文件夹文件获取方案

核心思路

不需要预先知道文件名,只需要通过文件的创建/修改时间,找出文件夹中最新添加的文件,直接将其路径赋值给变量即可。

单次获取最新文件代码示例

import os

# 替换成你的目标文件夹路径
target_dir = "./user_files"

# 筛选出文件夹下的所有文件(排除子文件夹)
file_list = [os.path.join(target_dir, filename) 
             for filename in os.listdir(target_dir)
             if os.path.isfile(os.path.join(target_dir, filename))]

if file_list:
    # 按文件创建时间排序,取最新的那个
    latest_file_path = max(file_list, key=lambda f: os.path.getctime(f))
    # 这里就得到了需要的path变量
    print(f"最新文件路径:{latest_file_path}")
else:
    print("目标文件夹中无文件")

实时监控新增文件代码示例

如果需要程序持续运行,实时捕捉用户放入的新文件,可以用循环定期检查:

import os
import time

target_dir = "./user_files"
# 记录上次检查的时间戳,初始值设为当前时间
last_check_timestamp = time.time()

while True:
    file_list = [os.path.join(target_dir, filename) 
                 for filename in os.listdir(target_dir)
                 if os.path.isfile(os.path.join(target_dir, filename))]
    
    if file_list:
        latest_file = max(file_list, key=lambda f: os.path.getctime(f))
        file_create_time = os.path.getctime(latest_file)
        
        # 判断该文件是否是上次检查后新增的
        if file_create_time > last_check_timestamp:
            print(f"检测到新文件:{latest_file}")
            path = latest_file  # 赋值给目标变量
            last_check_timestamp = file_create_time  # 更新检查时间
    
    time.sleep(2)  # 每隔2秒检查一次,可根据需求调整间隔

注意事项

  • os.path.getctime()在Windows系统返回文件创建时间,在Unix/Linux系统返回元数据最后修改时间;如果需要以文件内容修改时间为准,可替换为os.path.getmtime()
  • 若目标文件夹文件数量极多,遍历所有文件的效率会降低,可根据实际场景优化筛选逻辑
  • 不需要额外安装第三方库,用Python标准库即可实现需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 08:46:15