使用Python脚本批量搞定所有文件重命名

作者:

文章目录
  • 这个脚本核心解决“批量处理文件名”的问题,比如: 给 100 张旅行照片统一加上“2024_云南行_”前缀 把所有文件里的“初稿”替换成“终版” 给文档批量加“_部门审核”后缀 组合使用:加前缀+替换关键词,一次搞定 全程不用复杂操作,改个文件夹路径就能用,还加了防错校验,不用担心改坏文件。
  • 先把完整代码贴出来,我会逐行解释关键部分,放心抄作业~ import os def batch_rename_files(folder_path, prefix=””, suffix=””, replace_old=””, replace_new=””): “”” 批量重命名文件夹中的文件 :param folder_path: 目标文件夹路径(比如C:照片旅行) :param prefix: 要加的文件名前缀 :param suffix: 要加的文件名后缀 :param replace_old: 要替换的旧字符串(比如”IMG”) :param replace_new: 替换后的新字符串(比如”旅行”) “”” # 先检查文件夹是否存在,避免输错路径 if not os.path.isdir(folder_path): print(f”❌ 错误:文件夹 {folder_path} 不存在!”) return # 只获取文件,跳过子文件夹(避免误改文件夹名) file_list = [f for f in os.listdir(folder_path) if os.path.isfile(os.path.join(folder_path, f))] if not file_list: print(“📂 文件夹里没有可重命名的文件!”) return # 统计重命名的文件数 rename_count = 0 for old_name in file_list: # 拆分文件名和扩展名(比如”IMG_001.jpg”拆成”IMG_001″和”.jpg”) # 重点:避免把扩展名也改了,导致文件打不开 name, ext = os.path.splitext(old_name) # 替换文件名里的指定字符 new_name = name.replace(replace_old, replace_new) # 加上前缀和后缀 new_name = f”{prefix}{new_name}{suffix}{ext}” # 拼接完整路径(必须用完整路径,否则会把文件移到当前目录) old_path = os.path.join(folder_path, old_name) new_path = os.path.join(folder_path, new_name) # 避免文件名没变化时重复操作 if old_path != new_path: os.rename(old_path, new_path) rename_count += 1 print(f”✅ 已重命名:{old_name} -> {new_name}”) print(f”n🎉 重命名完成!一共改了 {rename_count} 个文件”) # 这里是使用示例,改下面的参数就行! if __name__ == “__main__”: # 第一步:替换成你的文件夹路径(Windows用r开头避免转义,Mac/Linux直接写路径) target_folder = r”C:Users你的名字Pictures2024旅行照片” # 第二步:设置重命名规则,按需修改 batch_rename_files( folder_path=target_folder, # 目标文件夹 prefix=”2024_云南行_”, # 加前缀 replace_old=”IMG”, # 把”IMG”替换成 replace_new=”照片” # “照片” # suffix=”_已整理”, # 可选:加后缀,需要就取消注释 )
  • 不用怕看不懂代码,核心逻辑就这几点:
  • 复制代码:把上面的代码保存成rename_files.py(随便起个名字,后缀是.py 就行); 改参数:找到代码最下面的target_folder,替换成你要处理的文件夹路径,再根据需求改prefix/replace_old这些参数; 运行脚本:打开命令行,进入脚本所在目录,输入python rename_files.py,回车就能看到重命名进度。
  • 比如我有一堆旅行照片,文件名是: IMG_1234.jpg IMG_1235.jpg IMG_1236.jpg 我想改成: 2024_云南行_照片1234.jpg 2024_云南行_照片1235.jpg 2024_云南行_照片1236.jpg 只需要把参数改成这样: batch_rename_files( folder_path=r”C:UsersXXXPictures云南行”, prefix=”2024_云南行_”, replace_old=”IMG_”, replace_new=”照片” ) 运行脚本,几秒钟就搞定,比手动改快100倍!
  • 备份文件:第一次用建议先复制一份文件到测试文件夹,确认没问题再处理原文件; 路径格式:Windows 路径用r"路径"(比如r"C:照片"),避免反斜杠被转义;Mac/Linux 直接写/Users/XXX/照片; 特殊字符:文件名别加冒号、星号这些非法字符,否则会报错; 权限问题:如果提示 “权限不足”,右键以管理员身份运行脚本。
  • 这个小脚本虽然简单,但真的能解决日常工作中的大 麻烦。其实 Python 的魅力就在于此 —— 不用写复杂的代码,就能快速解决实际问题。 如果你还有其他批量处理文件的需求(比如按时间重命名、按类型分类),可以在这个脚本基础上改,比如加个按序号命名的功能,或者筛选特定格式的文件(只改.jpg,不改.png)。 以上就是使用Python脚本批量搞定所有文件重命名的详细内容,更多关于Python实现文件重命名的资料请关注风君子博客其它相关文章! 您可能感兴趣的文章: Python文件管理之批量重命名文件详解 使用Python脚本轻松实现文件的批量重命名 基于Python实现自动化文件管理(分类、重命名和备份) Python批量重命名文件夹的方法步骤 Python自动化批量重命名与整理文件系统
  • 目录
    • 先说说这个脚本能干嘛?
    • 直接上代码(可复制即用)
    • 关键代码解释(新手也能懂)
      • 1. 先做 “安全校验”
      • 2. 拆分文件名和扩展名(重点!)
      • 3. 灵活的重命名规则
      • 4. 避免重复操作
    • 怎么用?超简单 3 步
      • 举个实际例子
        • 小提醒(避坑指南)
          • 最后说两句

            日常工作中你是不是也遇到过这种场景:整理旅行照片时,一堆 “IMG_001.jpg、IMG_002.jpg” 看得眼花缭乱;处理工作文档时,需要给几十个文件统一加项目前缀;想把文件名里的错别字批量改掉,手动改到崩溃……

            其实根本不用这么费劲,今天就教你写一个超实用的Python小脚本,30行代码实现文件批量重命名,支持加前缀/后缀、批量替换字符,新手也能轻松上手,彻底解放双手!

            这个脚本核心解决“批量处理文件名”的问题,比如:

            • 给 100 张旅行照片统一加上“2024_云南行_”前缀
            • 把所有文件里的“初稿”替换成“终版”
            • 给文档批量加“_部门审核”后缀
            • 组合使用:加前缀+替换关键词,一次搞定

            全程不用复杂操作,改个文件夹路径就能用,还加了防错校验,不用担心改坏文件。

            先把完整代码贴出来,我会逐行解释关键部分,放心抄作业~

            import os
            
            def batch_rename_files(folder_path, prefix="", suffix="", replace_old="", replace_new=""):
                """
                批量重命名文件夹中的文件
                :param folder_path: 目标文件夹路径(比如C:照片旅行)
                :param prefix: 要加的文件名前缀
                :param suffix: 要加的文件名后缀
                :param replace_old: 要替换的旧字符串(比如"IMG")
                :param replace_new: 替换后的新字符串(比如"旅行")
                """
                # 先检查文件夹是否存在,避免输错路径
                if not os.path.isdir(folder_path):
                    print(f"❌ 错误:文件夹 {folder_path} 不存在!")
                    return
                
                # 只获取文件,跳过子文件夹(避免误改文件夹名)
                file_list = [f for f in os.listdir(folder_path) if os.path.isfile(os.path.join(folder_path, f))]
                if not file_list:
                    print("📂 文件夹里没有可重命名的文件!")
                    return
                
                # 统计重命名的文件数
                rename_count = 0
                for old_name in file_list:
                    # 拆分文件名和扩展名(比如"IMG_001.jpg"拆成"IMG_001"和".jpg")
                    # 重点:避免把扩展名也改了,导致文件打不开
                    name, ext = os.path.splitext(old_name)
                    
                    # 替换文件名里的指定字符
                    new_name = name.replace(replace_old, replace_new)
                    
                    # 加上前缀和后缀
                    new_name = f"{prefix}{new_name}{suffix}{ext}"
                    
                    # 拼接完整路径(必须用完整路径,否则会把文件移到当前目录)
                    old_path = os.path.join(folder_path, old_name)
                    new_path = os.path.join(folder_path, new_name)
                    
                    # 避免文件名没变化时重复操作
                    if old_path != new_path:
                        os.rename(old_path, new_path)
                        rename_count += 1
                        print(f"✅ 已重命名:{old_name} -> {new_name}")
                
                print(f"n🎉 重命名完成!一共改了 {rename_count} 个文件")
            
            # 这里是使用示例,改下面的参数就行!
            if __name__ == "__main__":
                # 第一步:替换成你的文件夹路径(Windows用r开头避免转义,Mac/Linux直接写路径)
                target_folder = r"C:Users你的名字Pictures2024旅行照片"
                
                # 第二步:设置重命名规则,按需修改
                batch_rename_files(
                    folder_path=target_folder,    # 目标文件夹
                    prefix="2024_云南行_",        # 加前缀
                    replace_old="IMG",            # 把"IMG"替换成
                    replace_new="照片"            # "照片"
                    # suffix="_已整理",           # 可选:加后缀,需要就取消注释
                )
            

            不用怕看不懂代码,核心逻辑就这几点:

            脚本开头先检查文件夹是否存在、里面有没有文件,避免因为输错路径白忙活,也防止新手误操作。

            os.path.splitext()把文件名和后缀分开处理,比如 “报告.docx” 拆成 “报告” 和 “.docx”,只改前面的文件名,保证文件格式不会被改乱(比如不会把.jpg 改成.jpg.txt)。

            • prefix:给文件名加前缀,比如给所有照片加 “2024_云南行_”
            • suffix:给文件名加后缀,比如加 “_财务部”
            • replace_old/replace_new:批量替换字符,比如把 “初稿” 改成 “终版”

            这几个参数可以单独用,也可以组合用,比如既加前缀又替换关键词。

            判断新旧文件名是否一样,不一样才执行重命名,避免无意义的操作,也防止报错。

            1. 复制代码:把上面的代码保存成rename_files.py(随便起个名字,后缀是.py 就行);
            2. 改参数:找到代码最下面的target_folder,替换成你要处理的文件夹路径,再根据需求改prefix/replace_old这些参数;
            3. 运行脚本:打开命令行,进入脚本所在目录,输入python rename_files.py,回车就能看到重命名进度。

            比如我有一堆旅行照片,文件名是:

            IMG_1234.jpg
            IMG_1235.jpg
            IMG_1236.jpg

            我想改成:

            2024_云南行_照片1234.jpg
            2024_云南行_照片1235.jpg
            2024_云南行_照片1236.jpg

            只需要把参数改成这样:

            batch_rename_files(
                folder_path=r"C:UsersXXXPictures云南行",
                prefix="2024_云南行_",
                replace_old="IMG_",
                replace_new="照片"
            )
            

            运行脚本,几秒钟就搞定,比手动改快100倍!

            1. 备份文件:第一次用建议先复制一份文件到测试文件夹,确认没问题再处理原文件;
            2. 路径格式:Windows 路径用r"路径"(比如r"C:照片"),避免反斜杠被转义;Mac/Linux 直接写/Users/XXX/照片
            3. 特殊字符:文件名别加冒号、星号这些非法字符,否则会报错;
            4. 权限问题:如果提示 “权限不足”,右键以管理员身份运行脚本。

            这个小脚本虽然简单,但真的能解决日常工作中的大 麻烦。其实 Python 的魅力就在于此 —— 不用写复杂的代码,就能快速解决实际问题。

            如果你还有其他批量处理文件的需求(比如按时间重命名、按类型分类),可以在这个脚本基础上改,比如加个按序号命名的功能,或者筛选特定格式的文件(只改.jpg,不改.png)。

            以上就是使用Python脚本批量搞定所有文件重命名的详细内容,更多关于Python实现文件重命名的资料请关注风君子博客其它相关文章!

            您可能感兴趣的文章:

            • Python文件管理之批量重命名文件详解
            • 使用Python脚本轻松实现文件的批量重命名
            • 基于Python实现自动化文件管理(分类、重命名和备份)
            • Python批量重命名文件夹的方法步骤
            • Python自动化批量重命名与整理文件系统

            站内搜索