如何使用Python获取指定时间窗口(如最近1小时)内修改或创建的所有文件
问题原因说明
你原有代码里调用了max()函数,该函数的作用是从输入的文件列表中筛选出创建时间最大(也就是最新)的单个文件,所以自然只会返回1条结果,无法实现批量筛选符合时间要求的文件的需求。
实现方案
核心思路是先计算1小时对应的时间阈值,再遍历所有文件逐一对比时间,筛选出所有符合要求的文件即可,完整实现代码如下:
import glob import os import time # 计算1小时前的时间戳(单位:秒) one_hour_ago = time.time() - 3600 # 目标查询路径,可按需修改;如果需要递归遍历所有子目录,可改为 glob.glob('c://**/*', recursive=True) list_of_files = glob.glob('c://*') matched_files = [] for file_path in list_of_files: # 过滤掉文件夹,只保留文件,若需要包含文件夹可删除该行判断 if not os.path.isfile(file_path): continue # 获取文件创建时间,若需要查询修改时间可替换为 os.path.getmtime(file_path) create_time = os.path.getctime(file_path) if create_time > one_hour_ago: matched_files.append(file_path) # 打印所有符合条件的文件 for f in matched_files: print(f)
内容的提问来源于stack exchange,提问作者user16773013
相关产品推荐
相关产品推荐

