大家好,我是何三,80后老猿,独立开发者

接下来我会写一系列5分钟就能搞定的python自动化脚本,日常办公经常会遇到需要批量化操作的工作其实有很多,自己一个一个搞很枯燥,当然也可以在网上找脚本软件下载来用,有的时候网上找的软件就像当前的Ai抽盲盒(不确定能不能用),要不没法使用,要不提示病毒,而python是专门写脚本的一门编程语言,大多数情况下5分钟写一个小脚本可能就能满足你的需求,今天就以5分钟用Python批量重命名文件的脚本开始。

有这样的场景:你的手机里有500张旅行照片,文件名杂乱无章:IMG_20231001_123456.jpgIMG_20231001_123457.jpg... 你想要把它们统一命名为 vacation_001.jpgvacation_002.jpg 这样整洁的格式。

传统做法:一个个重命名,耗时30分钟,枯燥乏味,还容易出错。

Python做法:5行代码,执行3秒钟,一键完成!

今天,我就带你用5分钟掌握这个让你工作效率翻倍的神奇技能!

环境准备:零基础也能跟上

在开始之前,你只需要:

  1. 安装Python(如果还没安装,去官网下载,安装时记得勾选"Add Python to PATH")
  2. 一个文本编辑器(记事本、VS Code都可以)
  3. 要重命名的文件文件夹

就是这么简单!不需要任何编程基础,跟着我做就行。

核心代码:10行魔法

让我们先看看完整的代码,感受一下Python的简洁与强大:

import os  # 导入文件操作工具箱

# 设置要处理的文件夹路径
folder_path = "./photos"

# 获取文件夹内所有文件名
files = os.listdir(folder_path)

# 遍历每个文件并重命名
for i, filename in enumerate(files):
    # 生成新名字:vacation_001.jpg 格式
    new_name = f"vacation_{i+1:03d}.jpg"

    # 构建完整的文件路径
    old_path = os.path.join(folder_path, filename)
    new_path = os.path.join(folder_path, new_name)

    # 执行重命名!
    os.rename(old_path, new_path)

print("批量重命名完成!")

逐行详解:理解每一行代码的魔力

第1行:导入工具箱

import os

这行代码告诉Python:"我要使用操作系统的文件管理功能"。os模块是Python自带的,不需要额外安装。

第2-3行:指定目标

folder_path = "./photos"
files = os.listdir(folder_path)
  • 第2行:设置文件夹路径。"./photos"表示当前目录下的photos文件夹,你需要把它换成你自己的文件夹路径
  • 第3行:os.listdir()会列出指定文件夹内的所有文件名,就像让助手把文件都摊在桌上给你看

第4-9行:执行重命名(核心魔法)

for i, filename in enumerate(files):
    new_name = f"vacation_{i+1:03d}.jpg"
    old_path = os.path.join(folder_path, filename)
    new_path = os.path.join(folder_path, new_name)
    os.rename(old_path, new_path)

这是最精彩的部分!让我们拆解理解:

循环遍历

for i, filename in enumerate(files):

enumerate就像一个自动发号机,给每个文件分配一个序号(i),同时拿到文件名(filename)。

生成新名字

new_name = f"vacation_{i+1:03d}.jpg"

这里使用了Python的f-string功能: - vacation_ 是前缀,你可以随意修改 - {i+1:03d} 表示从1开始的3位数编号(001, 002, 003...) - .jpg 是文件扩展名

构建路径

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

os.path.join()会智能地拼接文件夹路径和文件名,确保在任何操作系统上都能正常工作。

执行重命名

os.rename(old_path, new_path)

这就是施展魔法的一行!它把旧路径的文件移动到新路径,完成重命名。

实战演示:见证奇迹的时刻

  1. 准备阶段:创建一个名为photos的文件夹,里面放一些测试文件
  2. 保存脚本:将上面的代码保存为rename_files.py,放在与photos文件夹同级的目录
  3. 运行脚本:打开命令行,输入:
python rename_files.py
  1. 查看结果:打开photos文件夹,你会发现所有文件都已经整齐重命名!

运行前

photos/
  ├── IMG_20231001_123456.jpg
  ├── IMG_20231001_123457.jpg
  ├── IMG_20231001_123458.jpg
  └── ...

运行后

photos/
  ├── vacation_001.jpg
  ├── vacation_002.jpg
  ├── vacation_003.jpg
  └── ...

举一反三:定制你的重命名规则

这个脚本的强大之处在于它的灵活性!你可以轻松修改来满足不同需求:

案例1:更改前缀和格式

# 改为:trip_001.png
new_name = f"trip_{i+1:03d}.png"

案例2:更改编号位数

# 改为:photo_0001.jpg(4位数)
new_name = f"photo_{i+1:04d}.jpg"

案例3:添加日期前缀

from datetime import datetime
date_str = datetime.now().strftime("%Y%m%d")
new_name = f"{date_str}_{i+1:03d}.jpg"

案例4:只重命名特定类型文件

# 只处理jpg文件
if filename.endswith('.jpg'):
    new_name = f"image_{i+1:03d}.jpg"
    # ...其余代码

注意事项与进阶技巧

安全第一:备份重要文件

在运行脚本前,建议先对重要文件进行备份,或者先在测试文件夹中尝试。

处理特殊情况的增强版脚本

如果你想要更安全的脚本,可以添加错误处理:

import os

folder_path = "./photos"
files = os.listdir(folder_path)

for i, filename in enumerate(files):
    # 跳过隐藏文件和文件夹
    if filename.startswith('.'):
        continue

    # 获取文件扩展名
    file_ext = os.path.splitext(filename)[1]

    new_name = f"vacation_{i+1:03d}{file_ext}"
    old_path = os.path.join(folder_path, filename)
    new_path = os.path.join(folder_path, new_name)

    try:
        os.rename(old_path, new_path)
        print(f"成功重命名: {filename} -> {new_name}")
    except Exception as e:
        print(f"重命名失败 {filename}: {e}")

print("批量重命名完成!")

结语:你的自动化之旅刚刚开始

恭喜!在短短的5分钟内,你已经掌握了:

✅ Python文件操作的基本方法 ✅ 批量重命名的核心技巧
✅ 代码定制化的思路 ✅ 错误处理的基本概念

这只是Python自动化能力的冰山一角。想象一下,你还可以用类似的方法:

  • 批量整理下载文件夹
  • 自动化处理Excel报表
  • 批量下载网络图片
  • 自动归类整理文档

编程的本质不是写代码,而是创造解决实际问题的工具。

现在,你已经有了一把利器。试着用今天学到的知识解决你工作中实际的文件命名问题,在评论区分享你的成果和遇到的挑战!

记得关注我,后续会带来更多实用的Python自动化技巧!