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

PDF文件名字符替换:保留.pdf后缀点的实现方法求助

解决PDF文件名替换时保留后缀点的问题

直接把.加入替换列表会连.pdf里的点一起换掉,要避免这个问题,核心是把文件名主体和后缀分开处理:只替换文件名部分的点,保留后缀里的点。

修改后的代码示例

import os

# 示例文件列表,实际场景可通过os.listdir()或glob获取目标文件
files = ["The Sample, File - With.Multiple.Dots.pdf", "Another.Test-File.pdf"]

for file in files:
    # 拆分文件名与后缀:比如"The File.pdf"会拆成("The File", ".pdf")
    name_part, ext_part = os.path.splitext(file)
    
    # 定义需要替换的字符,现在可以放心加入"."
    replace_items = [",", "-", "The ", " ", "."]
    
    # 仅对文件名主体执行替换操作
    edited_name = name_part
    for item in replace_items:
        edited_name = edited_name.replace(item, "")
    
    # 拼接处理后的完整文件名
    new_file = f"{edited_name}{ext_part}"
    
    # 执行重命名(实际使用时取消注释,注意文件路径正确性)
    # os.rename(file, new_file)
    print(new_file)  # 测试输出:SampleFileWithMultipleDots.pdf、AnotherTestFile.pdf

关键说明

  • os.path.splitext()会自动以文件名中最后一个点作为分隔符,刚好适配PDF这类单后缀文件,不会误拆分文件名中间的点
  • 所有替换操作仅作用于name_part,完全不会影响后缀里的.pdf
  • 如果处理的是带路径的文件(比如./docs/Target File.pdf),该方法依然有效,splitext会正确保留路径部分

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 11:00:56