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等)。
相关推荐
西柚与蓝莓1 小时前
【开源开放体系总结】
python
一颗花生米。2 小时前
深入理解JavaScript 的原型继承
java·开发语言·javascript·原型模式
问道飞鱼2 小时前
Java基础-单例模式的实现
java·开发语言·单例模式
学习使我快乐012 小时前
JS进阶 3——深入面向对象、原型
开发语言·前端·javascript
通信仿真实验室3 小时前
(10)MATLAB莱斯(Rician)衰落信道仿真1
开发语言·matlab
勿语&3 小时前
Element-UI Plus 暗黑主题切换及自定义主题色
开发语言·javascript·ui
belldeep4 小时前
python:reportlab 将多个图片合并成一个PDF文件
python·pdf·reportlab
dengqingrui1235 小时前
【树形DP】AT_dp_p Independent Set 题解
c++·学习·算法·深度优先·图论·dp
我的心永远是冰冰哒5 小时前
ad.concat()学习
学习
ZZZ_O^O5 小时前
二分查找算法——寻找旋转排序数组中的最小值&点名
数据结构·c++·学习·算法·二叉树