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

Python批量重命名PDF:按两种格式规则修正文件名大小写

批量修正PDF文件名大小写的Python脚本补全

针对你提出的物料和成品两种文件名格式,以下是补全后的完整脚本,包含规则处理、确认机制和错误处理:

import os

folder = '/Dev/Test_Rename_PDF'

# 切换到目标文件夹,避免路径问题
os.chdir(folder)

for fileName in os.listdir('.'):
    try:
        # 筛选PDF文件(兼容大小写后缀)
        if not fileName.lower().endswith('.pdf'):
            continue
        print(f"Processing {fileName}")
        
        # 去掉PDF后缀,拆分编码部分和描述部分(按第一个空格分割)
        name_without_ext = fileName[:-4] if fileName.lower().endswith('.pdf') else fileName
        if ' ' not in name_without_ext:
            # 无空格的情况,按物料格式处理(可根据实际需求调整)
            new_name_part = name_without_ext[:-1] + name_without_ext[-1].upper()
            newName = f"{new_name_part}.pdf"
        else:
            code_part, desc_part = name_without_ext.split(' ', 1)
            
            # 判断是成品还是物料格式
            if '-' in code_part:
                # 成品格式:编码全大写,描述每个单词首字母大写
                processed_code = code_part.upper()
            else:
                # 物料格式:编码最后一个字母大写
                processed_code = code_part[:-1] + code_part[-1].upper()
            
            # 处理描述部分:每个单词首字母大写
            processed_desc = desc_part.title()
            # 拼接新文件名
            newName = f"{processed_code} {processed_desc}.pdf"
        
        # 用户确认重命名
        option = raw_input(f"Do you want to rename '{fileName}' to '{newName}'? [y][n]: ")
        option = option.lower()

        if option.startswith('y'):
            os.rename(fileName, newName)
            print(f"Renamed to {newName}")

    except Exception as e:
        print(f"Error in processing {fileName}: {str(e)}")

关键逻辑说明:

  • 文件筛选:用endswith('.pdf')更简洁地判断PDF文件,兼容大小写后缀
  • 文件名拆分:通过split(' ', 1)只分割第一个空格,确保描述部分的空格保留
  • 格式判断:根据编码部分是否包含-区分成品和物料
    • 成品:编码段全大写(如test-2000a-tp-a→TEST-2000A-TP-A)
    • 物料:编码段最后一个字母大写(如4000a→4000A)
  • 描述处理:用title()方法快速将每个单词首字母大写
  • 路径修正:添加os.chdir(folder)切换到目标文件夹,解决原代码中folder变量未使用的问题
  • 错误优化:将except:改为except Exception as e,能打印具体错误信息,方便排查

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 08:42:53