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等)。
相关推荐
沧海一笑-dj25 分钟前
【51单片机】51单片机学习笔记-课程简介
笔记·学习·51单片机·江科大·江科大学习笔记·江科大单片机·江科大51单片机
笑稀了的野生俊34 分钟前
在服务器中下载 HuggingFace 模型:终极指南
linux·服务器·python·bash·gpu算力
Naiva34 分钟前
【小技巧】Python+PyCharm IDE 配置解释器出错,环境配置不完整或不兼容。(小智AI、MCP、聚合数据、实时新闻查询、NBA赛事查询)
ide·python·pycharm
代码的奴隶(艾伦·耶格尔)41 分钟前
后端快捷代码
java·开发语言
老虎06271 小时前
JavaWeb(苍穹外卖)--学习笔记04(前端:HTML,CSS,JavaScript)
前端·javascript·css·笔记·学习·html
Jay_5151 小时前
C++多态与虚函数详解:从入门到精通
开发语言·c++
路来了1 小时前
Python小工具之PDF合并
开发语言·windows·python
蓝婷儿1 小时前
Python 机器学习核心入门与实战进阶 Day 3 - 决策树 & 随机森林模型实战
人工智能·python·机器学习
AntBlack2 小时前
拖了五个月 ,不当韭菜体验版算是正式发布了
前端·后端·python
大苏打seven2 小时前
Docker学习笔记:Docker网络
笔记·学习·docker