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

如何用Python获取文件夹中近N天内修改的所有Zip文件?

获取近N天内修改的Zip文件

要筛选出近N天内修改的所有Zip文件,核心思路是先计算时间阈值,再逐个检查文件的修改时间是否在阈值范围内,具体实现如下:

实现步骤

  1. 计算时间阈值:用当前时间减去N天的总秒数,得到一个时间戳,只有修改时间晚于这个时间戳的文件才符合要求。
  2. 遍历目标目录下的Zip文件:用glob.iglob()替代glob.glob(),避免一次性加载所有文件路径到内存,适合文件数量较多的场景。
  3. 筛选符合条件的文件:通过os.path.getmtime()获取文件的最后修改时间(如果需要判断创建时间,Windows下用os.path.getctime(),Unix系统下getctime是元数据修改时间,需注意区别),和阈值对比后收集符合条件的文件。

代码示例

import os
import glob
import time

# 设置要筛选的天数
days = 2
# 计算时间阈值:当前时间减去days天的秒数
time_threshold = time.time() - days * 24 * 60 * 60

# 遍历目录下所有zip文件,用iglob生成器逐个处理
recent_files = []
for file_path in glob.iglob('*.zip'):
    # 获取文件最后修改时间的时间戳
    file_mtime = os.path.getmtime(file_path)
    if file_mtime >= time_threshold:
        recent_files.append(file_path)

# 输出结果
for file in recent_files:
    print(file)

关键说明

  • time.time()返回当前时间的时间戳(秒数),days * 24 * 60 * 60是N天对应的总秒数,两者相减得到阈值。
  • os.path.getmtime(file_path)获取文件内容最后被修改的时间,若你需要的是文件创建时间,Windows系统可替换为os.path.getctime(file_path),Unix系统则需要额外处理(比如用stat模块的st_birthtime)。
  • 使用glob.iglob()可以避免一次性加载大量文件路径,在文件数量较多时能提升效率,减少内存占用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 06:40:19