Python自动化实现批量重命名文件

 更新时间:2026年03月01日 09:06:54   作者:FishCoderh  
我们在工作中经常遇到需要批量处理文件的场景,如果手动一个个改太浪费时间了,下面我们就来看看如何使用Python 几行代码搞定批量重命名,从此告别重复劳动吧

前言

工作中经常遇到需要批量处理文件的场景:下载的图片需要统一命名、报告需要按日期排序、项目文件需要规范化……手动一个个改?太浪费时间了!

今天教你用 Python 几行代码搞定批量重命名,从此告别重复劳动。

场景描述

假设你有一个文件夹,里面有一堆下载的图片:

下载文件夹/
├── IMG_20240227_001.jpg
├── IMG_20240227_002.jpg
├── IMG_20240227_003.jpg
└── ...

你想把它们改成更有意义的名称,比如 项目截图_001.jpg项目截图_002.jpg 这样。

代码实现

import os

def batch_rename(folder_path, prefix):
    """
    批量重命名文件
    folder_path: 文件夹路径
    prefix: 新文件名前缀
    """
    # 获取文件夹内所有文件
    files = os.listdir(folder_path)
    
    # 过滤出图片文件
    image_files = [f for f in files if f.endswith(('.jpg', '.png', '.jpeg'))]
    
    # 排序,确保顺序一致
    image_files.sort()
    
    # 批量重命名
    for index, old_name in enumerate(image_files, start=1):
        # 获取文件扩展名
        ext = os.path.splitext(old_name)[1]
        
        # 生成新文件名
        new_name = f"{prefix}_{index:03d}{ext}"
        
        # 构建完整路径
        old_path = os.path.join(folder_path, old_name)
        new_path = os.path.join(folder_path, new_name)
        
        # 重命名
        os.rename(old_path, new_path)
        print(f"{old_name} -> {new_name}")

# 使用示例
folder = "/Users/你的用户名/Downloads/下载文件夹"
batch_rename(folder, "项目截图")

代码解析

os.listdir() - 列出文件夹内所有文件

os.path.splitext() - 分离文件名和扩展名

os.path.join() - 安全地拼接路径(兼容 Windows 和 Mac)

os.rename() - 执行重命名操作

f"{prefix}_{index:03d}" - 格式化字符串,03d 表示 3 位数字,不足补零

进阶用法

添加时间戳

from datetime import datetime

def rename_with_timestamp(folder_path):
    files = os.listdir(folder_path)
    today = datetime.now().strftime("%Y%m%d")
    
    for index, old_name in enumerate(files, start=1):
        ext = os.path.splitext(old_name)[1]
        new_name = f"{today}_{index:03d}{ext}"
        # ... 重命名代码

正则表达式替换

import re

def rename_with_regex(folder_path, pattern, replacement):
    """使用正则替换文件名中的特定内容"""
    files = os.listdir(folder_path)
    
    for old_name in files:
        new_name = re.sub(pattern, replacement, old_name)
        if new_name != old_name:
            # ... 重命名代码

注意事项

备份重要文件 - 重命名前最好备份,避免误操作

测试小批量 - 先用几个文件测试,确认无误再批量处理

处理冲突 - 如果新文件名已存在,会报错,需要额外处理

完整安全版本

import os
import shutil

def safe_batch_rename(folder_path, prefix):
    files = [f for f in os.listdir(folder_path) 
             if os.path.isfile(os.path.join(folder_path, f))]
    files.sort()
    
    renamed = []
    for index, old_name in enumerate(files, start=1):
        ext = os.path.splitext(old_name)[1]
        new_name = f"{prefix}_{index:03d}{ext}"
        
        old_path = os.path.join(folder_path, old_name)
        new_path = os.path.join(folder_path, new_name)
        
        # 避免覆盖已有文件
        if os.path.exists(new_path):
            print(f"跳过:{new_name} 已存在")
            continue
            
        try:
            os.rename(old_path, new_path)
            renamed.append((old_name, new_name))
            print(f"✓ {old_name} -> {new_name}")
        except Exception as e:
            print(f"✗ {old_name} 失败: {e}")
    
    print(f"\n完成!共处理 {len(renamed)} 个文件")
    return renamed

总结

批量重命名只是 Python 自动化办公的入门,掌握了 os 模块的基础操作,你就可以:

  • 批量移动/复制文件
  • 自动整理文件夹
  • 生成报告文档

到此这篇关于Python自动化实现批量重命名文件的文章就介绍到这了,更多相关Python批量重命名文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 如何基于Python爬虫爬取美团酒店信息

    如何基于Python爬虫爬取美团酒店信息

    这篇文章主要介绍了如何基于Python爬虫爬取美团酒店信息,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • Python中执行MySQL结果限制和分页查询示例详解

    Python中执行MySQL结果限制和分页查询示例详解

    这篇文章主要为大家介绍了Python中执行MySQL结果限制和分页查询示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • Python 使用 Redis 作为缓存的操作方法

    Python 使用 Redis 作为缓存的操作方法

    在现代Web应用和数据密集型服务中,使用Redis作为缓存可以提升性能和响应速度,Redis是一个高性能的内存中数据结构存储系统,支持多种数据结构如字符串、哈希、列表等,并提供持久性和分布式支持,本文给大家介绍Python 使用 Redis 作为缓存的操作方法,感兴趣的朋友一起看看吧
    2024-10-10
  • 详解Python多线程Selenium跨浏览器测试

    详解Python多线程Selenium跨浏览器测试

    本篇文章主要介绍了Python多线程Selenium跨浏览器测试,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-04-04
  • 《Python学习手册》学习总结

    《Python学习手册》学习总结

    本篇文章是读者朋友在学习了《Python学习手册》这本书以后,总结出的学习心得,值得大家参考学习。
    2018-01-01
  • python实现大学人员管理系统

    python实现大学人员管理系统

    这篇文章主要为大家详细介绍了python实现大学人员管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • 解决Pyinstaller打包为可执行文件编码错误的问题

    解决Pyinstaller打包为可执行文件编码错误的问题

    这篇文章主要介绍了解决Pyinstaller打包为可执行文件编码错误的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • pandas数据的合并与拼接的实现

    pandas数据的合并与拼接的实现

    Pandas包的merge、join、concat方法可以完成数据的合并和拼接,本文主要介绍了这三种实现方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • 使用Python拆分与合并Excel文档的操作指南

    使用Python拆分与合并Excel文档的操作指南

    在日常工作中,Excel电子表格无疑是最常用的数据处理工具之一,然而,当面对大量需要拆分或合并的Excel文件时,手动操作不仅耗时耗力,还极易出错,Python作为一款强大的编程语言,可以帮助我们轻松实现Excel文件的自动化处理,本文将为您详细介绍如何使用Python拆分与合并
    2025-09-09
  • python更改已存在excel文件的方法

    python更改已存在excel文件的方法

    今天小编就为大家分享一篇python更改已存在excel文件的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05

最新评论