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

如何按文件名前缀日期筛选并复制每日生成的tar.gz文件?

实现每日自动复制指定格式文件的Python方案

核心思路

  1. 生成当日的YYYYMMDD格式日期字符串,作为筛选文件名的前缀
  2. 遍历源目录,匹配以该前缀开头、且符合*_versionName=*.tar.gz后缀的文件
  3. 将匹配到的文件复制到目标目录,自动创建不存在的目标目录
  4. 处理常见异常情况(目录不存在、无匹配文件等)

完整代码实现

import os
import shutil
from datetime import datetime

def copy_daily_file(source_dir, target_dir):
    # 获取当日日期,格式化为YYYYMMDD
    today_date = datetime.now().strftime("%Y%m%d")
    # 定义文件名匹配规则:以当日日期开头,包含_versionName=标识且以.tar.gz结尾
    prefix = today_date
    required_tag = "_versionName="

    # 检查源目录是否存在
    if not os.path.exists(source_dir):
        print(f"错误:源目录 {source_dir} 不存在")
        return

    # 创建目标目录(如果不存在)
    os.makedirs(target_dir, exist_ok=True)

    # 遍历源目录筛选符合条件的文件
    matched_files = []
    for filename in os.listdir(source_dir):
        full_path = os.path.join(source_dir, filename)
        # 只处理文件,排除子目录
        if os.path.isfile(full_path) and filename.startswith(prefix) and required_tag in filename and filename.endswith(".tar.gz"):
            matched_files.append(filename)

    if not matched_files:
        print(f"未找到符合条件的文件,日期前缀:{today_date}")
        return

    # 执行复制操作
    for filename in matched_files:
        source_path = os.path.join(source_dir, filename)
        target_path = os.path.join(target_dir, filename)
        
        # 可选:避免覆盖已存在的目标文件
        if os.path.exists(target_path):
            print(f"目标目录已存在文件 {filename},跳过复制")
            continue
            
        shutil.copy2(source_path, target_path)
        print(f"已成功复制文件:{filename}")

# 替换为你的实际目录路径
SOURCE_DIR = "/your/source/folder/path"
TARGET_DIR = "/your/target/folder/path"

# 启动复制流程
copy_daily_file(SOURCE_DIR, TARGET_DIR)

关键细节说明

  • 日期匹配:用datetime.now().strftime("%Y%m%d")确保生成的日期格式与文件名前缀完全一致,若服务器时区与本地不同,可替换为datetime.utcnow()或指定时区生成日期
  • 精准筛选:同时校验文件名前缀、中间标识和后缀,避免误复制其他相似格式的文件
  • 鲁棒性处理:自动创建目标目录、跳过已存在文件、检查源目录有效性,减少运行报错概率

常见问题排查

  • 无匹配文件:检查源目录路径是否正确,确认当日生成的文件名前缀与代码输出的today_date一致
  • 复制失败:检查源文件是否被占用、目标目录是否有写入权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 01:06:20