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

Python实现批量将pptx文件重命名为指定人员姓名而非序列名称

批量按人名重命名PPT文件的Python实现方案

你现有代码的核心逻辑是固定前缀加序号生成新文件名,只要将这部分逻辑替换为对应人名列表即可,修改后代码如下:

import os, fnmatch

file_path = 'C:\\Users\\Documents\\Files_To_Rename\\Many_Files\\'
files_to_rename = fnmatch.filter(os.listdir(file_path), '*.pptx')
# 先打印文件列表,确认顺序和你要匹配的姓名顺序一致
print("当前读取到的文件顺序:", files_to_rename)

# 按上面打印的文件顺序填写对应的人员姓名,数量需和待重命名文件数量完全一致
name_list = ["bob", "sue", "jack"]

# 预校验避免异常
if len(name_list) != len(files_to_rename):
    raise ValueError("姓名列表数量与待重命名文件数量不匹配,请检查后再运行")

for i, file_name in enumerate(files_to_rename):
    new_file_name = f"{name_list[i]}.pptx"
    # 重名校验,避免覆盖已有文件
    if os.path.exists(os.path.join(file_path, new_file_name)):
        print(f"警告:目标文件 {new_file_name} 已存在,跳过原文件 {file_name}")
        continue
    os.rename(
        os.path.join(file_path, file_name),
        os.path.join(file_path, new_file_name)
    )

print("重命名操作完成")

注意事项

  • 运行代码第一步会打印当前目录下读取到的所有PPT文件顺序,务必确认该顺序和你填写的name_list顺序一一对应,否则会出现命名错位的问题
  • 如果原文件名本身就包含姓名信息,可直接从原文件名提取姓名无需手动维护name_list,示例如下(假设原文件名格式为汇报_张三.pptx):
# 从原文件名提取姓名的示例逻辑
for file_name in files_to_rename:
    # 按下划线分割取后半段,去掉原有后缀即可得到姓名
    name = file_name.split("_")[-1].replace(".pptx", "").strip()
    new_file_name = f"{name}.pptx"
    os.rename(
        os.path.join(file_path, file_name),
        os.path.join(file_path, new_file_name)
    )

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 19:54:04