Python 批量重命名文件工具(完整示例)

下面我带你从零开始,用 VS Code 创建一个完整的 Python 批量重命名文件工具项目,一步一步跟着做就能直接运行。


一、准备工作

  1. 安装 Python:确保电脑已装 Python(3.7 以上)
  2. 安装 VS Code
  3. 新建一个空文件夹,比如: D:\PythonProjects\FileRenamer

二、在 VS Code 中创建项目

  1. 打开 VS Code
  2. 点击左上角「文件 → 打开文件夹」,选择刚才的 FileRenamer 文件夹
  3. 左侧资源管理器 → 新建文件 → 命名为 renamer.py

现在项目结构就是:

复制代码
FileRenamer/
 └── renamer.py

三、完整代码(直接复制到 renamer.py)

python 复制代码
import os

def batch_rename(folder_path, prefix="img", start=1, zero_pad=3):
    """
    批量重命名文件
    """
    if not os.path.isdir(folder_path):
        print("文件夹不存在!")
        return

    # 获取所有文件(排除文件夹)
    files = [
        f for f in os.listdir(folder_path)
        if os.path.isfile(os.path.join(folder_path, f))
    ]

    count = 0

    for filename in files:
        # 获取后缀
        ext = os.path.splitext(filename)[1]

        # 新文件名
        new_name = f"{prefix}{str(start + count).zfill(zero_pad)}{ext}"

        old_path = os.path.join(folder_path, filename)
        new_path = os.path.join(folder_path, new_name)

        os.rename(old_path, new_path)
        print(f"{filename} -> {new_name}")
        count += 1

    print(f"\n完成!共重命名 {count} 个文件")


if __name__ == "__main__":
    # ========== 在这里修改你的路径 ==========
    target_dir = r"C:\Users\你的用户名\Desktop\测试文件夹"

    # 重命名:前缀, 起始数字, 位数
    batch_rename(target_dir, prefix="photo_", start=1, zero_pad=3)

四、修改路径(关键)

把这行:

python 复制代码
target_dir = r"C:\Users\你的用户名\Desktop\测试文件夹"

改成你自己要重命名的文件夹路径,例如:

python 复制代码
target_dir = r"D:\图片\风景"

Windows 路径前面加 r 可以避免转义问题。


五、运行项目

  1. 在 VS Code 按 F5 运行
  2. 或打开终端,进入项目文件夹执行:
bash 复制代码
python renamer.py

运行后效果:

rust 复制代码
1.jpg -> photo_001.jpg
2.png -> photo_002.png
a.txt -> photo_003.txt
相关推荐
excel2 小时前
IndexNow:让搜索引擎更快发现网站更新的主动通知协议
前端·后端·架构
Json____2 小时前
用 FastAPI + Vue3 打造一套完整的在线考试系统:从组卷到阅卷的业务闭环实践
后端·node.js·fastapi·it学习·wwwoop.com
小灰灰搞电子3 小时前
Rust+Slint 实现FTP客户端调试助手源码分享
开发语言·后端·rust
外收内放3 小时前
面向对象高级(实战案例)
开发语言·python·学习
专业程序开发源4 小时前
springboot欧缇蔓月子中心管理系统82697-计算机课程设计、毕业设计
java·spring boot·后端·python·spring·django·课程设计
FPGA小迷弟4 小时前
用 Claude Code 重构遗留系统:从评估到落地的完整实践指南
c++·python·ai·plotly·django·ai编程·claude
卷无止境4 小时前
面向arm64桌面客户端开发全景:语言、框架与生态
后端·python
fanruitian4 小时前
python else用法
开发语言·python
Thinker QAQ4 小时前
并发编程(十一):Shared Memory 与 Message Passing——关系与组合使用
java·python·go·并发编程·shared memory·message passing
IT_陈寒5 小时前
JavaScript的闭包陷阱,这个坑我躺了三天才爬出来
前端·人工智能·后端