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

如何实现获取两天前创建的所有.py文件并迁移?

实现筛选两天前创建的.py文件并迁移

要实现这个需求,你需要添加时间计算逻辑,对比文件创建时间和当前时间的差值。以下是修改后的代码,同时修正了原代码中不必要的getctime导入,并处理了不同系统下文件创建时间的获取差异:

import os
import shutil
from datetime import datetime, timedelta

source = r'/Users/sourcedir'
destination = r'/Users/destdir'

# 计算两天前的时间阈值
two_days_ago = datetime.now() - timedelta(days=2)

for root, dirs, files in os.walk(source):
    for file in files:
        if file.endswith('.py'):  # 更严谨的后缀判断方式
            file_path = os.path.join(root, file)
            
            # 获取文件创建时间,兼容不同操作系统
            try:
                # 类Unix系统(macOS、Linux)获取创建时间
                create_time = datetime.fromtimestamp(os.stat(file_path).st_birthtime)
            except AttributeError:
                # Windows系统用getctime作为创建时间
                create_time = datetime.fromtimestamp(os.path.getctime(file_path))
            
            # 判断是否为两天前创建的文件
            if create_time < two_days_ago:
                shutil.move(file_path, destination)

关键逻辑说明:

  • 时间阈值计算:通过timedelta(days=2)得到两天的时间间隔,用当前时间减去这个间隔,得到需要筛选的时间临界点。
  • 文件创建时间获取:不同操作系统对文件创建时间的存储方式不同,代码通过异常处理兼容类Unix和Windows系统。
  • 后缀判断优化:用file.endswith('.py')替代原代码的'.py' in file,避免匹配到文件名中包含.py但后缀不符的文件(如test.py.txt)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 07:25:18