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
相关推荐
夏天拐跑了西瓜3 小时前
一文入门LangChain:从框架认知到构建你的第一个AI Agent
python·langchain·conda·agent
魔猴疯猿4 小时前
从0到1用Python开发第一个智能体
人工智能·python·深度学习·神经网络·机器学习
xiaoqi01955 小时前
机器学习因子分析实战:从量化特征到可视化决策
人工智能·python·机器学习
Escalating_xu5 小时前
【Python】基础语法(1):常量、变量、类型、输入输出与运算符
开发语言·python
happylifetree6 小时前
Python14:核心语法-数据存储与运算-字符串定义
python
hhb_6186 小时前
AIRAGDebug:一键定位RAG链路异常
人工智能·python·算法
小静AI工程实验室6 小时前
asyncio.Queue 有界队列实战:背压、task_done、join 与异常收尾
python
小凡geo6 小时前
本地商家 GEO:用脚本一键生成 FAQPage 结构化数据,让 AI 切片更稳
开发语言·人工智能·python·microsoft·搜索引擎·ai
Zhou1411366 小时前
SpringBoot_03_Web开发
前端·spring boot·python
weixin199701080166 小时前
《1688物流API接口边界:logistics.trace.get 与 freight.template.list 的隐藏约束》(附Python源码)
windows·python·list