python项目练习——5.自动化批量重命名图片文件

Python自动化脚本的特点:

  1. 简洁易读:Python语法清晰,代码简洁,易于学习和理解。

  2. 强大的库和框架支持:拥有丰富的库和框架,可以方便地处理文件、数据、网络请求等任务。

  3. 跨平台兼容性:可以在Windows、Linux、macOS等多种操作系统上运行,无需修改代码。

  4. 灵活性和可扩展性:支持面向对象编程,易于扩展和定制,同时也可以与其他语言进行集成。

  5. 庞大的社区支持:拥有庞大的开发者社区,提供大量的学习资源和解决方案。

  6. 自动化测试:适用于自动化测试场景,可以轻松编写和执行测试用例,提高测试效率。

  7. 自动化部署和运维:可用于自动化部署和运维任务,减少手动操作,提高运维效率。

  8. 广泛的应用场景:不仅适用于文件处理和数据分析,还可以应用于Web自动化、机器人编程、图像处理等多个领域。

1.项目目标:

编写一个Python脚本,用于批量重命名指定目录下的图片文件,使其按照一定的命名规则进行重命名。

2.实现步骤:

  1. 确定文件路径和命名规则
    • 指定要处理的图片文件所在的目录。
    • 确定重命名的规则,比如使用序列号前缀加原始文件名。
  2. 遍历目录并获取文件列表
    • 使用os模块遍历指定目录,获取所有图片文件的列表。
  3. 重命名文件
    • 对于每个文件,按照指定的命名规则生成新的文件名。
    • 使用os.rename()函数将原文件名改为新文件名。
  4. 记录处理结果
    • 打印出已处理的文件名和新文件名。
    • 可选:将处理结果写入日志文件。

示例代码:

import os

def batch_rename_images(directory, prefix):

遍历目录获取文件列表

for filename in os.listdir(directory):

检查文件是否为图片(这里以.jpg为例)

if filename.endswith(".jpg"):

生成新的文件名

new_filename = prefix + filename

构造原文件和新文件的完整路径

old_path = os.path.join(directory, filename)

new_path = os.path.join(directory, new_filename)

重命名文件

os.rename(old_path, new_path)

打印处理结果

print(f"Renamed '{filename}' to '{new_filename}'")

调用函数进行批量重命名

batch_rename_images("/path/to/images", "new_")

3.如何使用:

  1. 将上述代码保存为rename_images.py文件。
  2. 将要处理的图片文件放在指定的目录下,确保所有图片文件都符合您选择的扩展名(如.jpg)。
  3. 打开命令行终端,导航到脚本所在的目录。
  4. 运行脚本:python rename_images.py

4.注意事项:

  • 确保在执行重命名操作之前备份您的文件,以防万一发生错误导致文件丢失。
  • 如果重命名规则可能导致文件名冲突(即两个文件被重命名为相同的名字),您需要在代码中添加逻辑来处理这种情况。
  • 根据您的需求,您可能需要调整代码以处理不同类型的图片文件(如.png.gif等)。
相关推荐
清水白石0082 分钟前
从打印对象到高质量调试:彻底理解 Python 中 `__repr__` 和 `__str__` 的区别
开发语言·python
枕星而眠8 分钟前
C++ 面向对象核心机制深度解析:多态性、虚函数、虚继承与 final 类
运维·开发语言·c++·后端
Sammyyyyy14 分钟前
Google I/O 2026 Antigravity 更新解析与 SDK 实战指南
python·ai编程·servbay
_李小白26 分钟前
【android opencv学习笔记】Day 31:提取轮廓之Canny算法
android·opencv·学习
Evand J34 分钟前
【MATLAB例程】自适应渐消扩展卡尔曼滤波(AFEKF)三维雷达目标跟踪|效果已调优,附下载链接和运行结果,代码直接运行即可
开发语言·算法·matlab·目标跟踪·卡尔曼滤波·自适应滤波·代码定制
零陵上将军_xdr34 分钟前
后端转全栈学习-Day6-JavaScript 基础-4
前端·javascript·学习
爱装代码的小瓶子35 分钟前
3. 设计buffer模块
linux·服务器·开发语言·c++·php
郝学胜-神的一滴35 分钟前
Qt 高级开发 027: QTabWidget自定义样式表美化实战
开发语言·c++·qt·程序人生·软件构建·用户界面
keykey6.36 分钟前
迁移学习实战:用预训练模型做图像分类
开发语言·人工智能·深度学习·机器学习
双河子思36 分钟前
《代码整洁之道》——读书笔记(持续更新)
开发语言·c++·c#