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

如何用Python批量重命名指定模式文件并移除文件名子串

用Python实现指定规则的文件重命名与迁移

实现思路

针对格式为WH_BEE_FULL_YYYYMMDD_HHMMSS_N.bak的文件,通过分割文件名的下划线字段,移除时分秒(HHMMSS)部分,拼接新文件名后完成文件迁移。

完整代码

import os
import shutil

# 配置源文件夹与目标文件夹路径
source_dir = r"F:\Source"
dest_dir = r"F:\Destination"

# 确保目标文件夹存在,不存在则自动创建
os.makedirs(dest_dir, exist_ok=True)

# 遍历源文件夹内的所有文件
for filename in os.listdir(source_dir):
    # 仅处理.bak后缀且符合指定命名格式的文件
    if filename.endswith(".bak") and filename.count("_") == 3:
        # 拆分文件名(去除.bak后缀)
        name_segments = filename[:-4].split("_")
        # 拼接新文件名:跳过时分秒部分
        new_filename = f"{name_segments[0]}_{name_segments[1]}_{name_segments[3]}.bak"
        
        # 构建源文件与目标文件的完整路径
        source_file_path = os.path.join(source_dir, filename)
        dest_file_path = os.path.join(dest_dir, new_filename)
        
        # 避免覆盖已存在的目标文件
        if os.path.exists(dest_file_path):
            print(f"跳过:目标文件{new_filename}已存在")
            continue
        
        # 移动并重命名文件
        shutil.move(source_file_path, dest_file_path)
        print(f"处理完成:{filename} → {new_filename}")

关键说明

  • os.makedirs(dest_dir, exist_ok=True):自动创建目标文件夹,无需手动提前建立
  • 文件名筛选:通过后缀和下划线数量判断,确保只处理符合格式的备份文件,避免误操作
  • 防覆盖逻辑:检查目标路径是否已有同名文件,避免数据丢失
  • 迁移逻辑:shutil.move同时完成重命名与迁移操作,一步到位

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 04:47:04