python实现遍历文件夹图片并重命名
在Python编程中,有时我们需要对文件夹中的图片进行管理和整理,比如重命名。这个场景在深度学习项目中尤其常见,因为原始图片的命名可能不够规范,例如包含括号或者不一致的格式,这会影响后续的数据处理。本篇将详细介绍如何使用Python的os模块遍历文件夹并重命名图片。 Python的os模块提供了访问和管理文件和目录的功能。`os.listdir()`函数用于获取指定路径下的所有文件和子目录的名称,返回一个列表。`os.path.abspath()`则是获取绝对路径,确保我们操作的是实际存在的文件。`os.rename()`则用于实现文件的重命名功能。 以下是一个具体的实现例子,定义了一个名为`BatchRename`的类,其中`rename`方法用于遍历文件夹并对图片进行重命名: ```python class BatchRename: def __init__(self): self.path = 'C:/Users/lenovo/Desktop/label5/3' def rename(self): filelist = os.listdir(self.path) total_num = len(filelist) i = 1 for item in filelist: if item.endswith('.jpg') or item.endswith('.xml'): src = os.path.join(os.path.abspath(self.path), item) if item.endswith('.jpg'): dst = os.path.join(os.path.abspath(self.path), '02' + str(i) + '.jpg') else: dst = os.path.join(os.path.abspath(self.path), '02' + str(i) + '.xml') try: os.rename(src, dst) print('converting %s to %s ...' % (src, dst)) i += 1 except: continue print('total %d files, converted %d images.' % (total_num, i)) ``` 在这个例子中,类`BatchRename`初始化时设定需要操作的文件夹路径。在`rename`方法中,遍历文件夹内的所有文件,检查文件名是否以`.jpg`或`.xml`结尾。如果是图片文件,将原文件名替换为新格式(如'021.jpg', '022.jpg'等)。`os.rename()`执行重命名操作,并在成功重命名后打印相应的信息。 此外,还提供了一个简洁版的实现,简化了类结构,直接在主程序中完成重命名操作: ```python import os path = 'SegmentationClassRaw/' filelist = os.listdir(path) for item in filelist: if item.endswith('.png'): name = item.split('.', 3)[0] + '.' + item.split('.', 3)[1] src = os.path.join(os.path.abspath(path), item) dst = os.path.join(os.path.abspath(path), name + '.png') try: os.rename(src, dst) print('rename from %s to %s' % (src, dst)) except: continue ``` 这个简洁版本同样遍历文件夹,但只处理`.png`格式的图片,通过`split('.')`方法拆分文件名,并组合新的文件名,然后进行重命名。 总结来说,Python的os模块提供了强大且方便的文件系统操作功能,可以轻松实现遍历文件夹并重命名图片。这个功能在数据预处理、文件管理等多个场景都有广泛的应用。在实际操作中,可以根据需要调整代码,以适应不同的文件格式和命名规则。在进行文件操作时,注意处理可能出现的异常,确保程序的健壮性。
- 粉丝: 3
- 资源: 954
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- MBR污水一体化处理系统(集装箱)工程图机械结构设计图纸和其它技术资料和技术方案非常好100%好用.zip
- lattice diamond3.11的license文件
- vsvbxcygsyzgvytfvdyvs
- DJS-042-锁螺丝机方案工程图机械结构设计图纸和其它技术资料和技术方案非常好100%好用.zip
- FMASTERSW3.2版本
- qemu上运行Linux系统开启并验证IMA功能
- HE-Drive-main.zip
- mysql安装配置教程.txt
- mysql安装配置教程.txt
- mysql安装配置教程.txt
- 汇川伺服6V30-EOE-MXL文件-037515
- 2024中国CIO&CDO现状、挑战及未来趋势研究报告
- 鼠标连点器+自动单机+录制点击
- 4G DTU串口数据采集网关设计全套资料(源码、原理图、外壳文件、产品手册).zip
- 利用Python绘制装饰圣诞树的技术实例
- 测试程序:qabstractvideosurface