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
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 医院信息化建设专业方案.doc
- 在深度学习中发展学生的思维(1).docx
- Hadoop大数据架构技术研究(1).docx
- Matlab PDE工具箱有限元法求解偏微分方程.doc
- 高职院校计算机类专业教学秘书工作独特性研究(1).docx
- 基于GIS的国土资源“一张图”解决方案(1).ppt
- 计算机信息系统分级保护方案(2)(1).doc
- 计算机网络基础题库(附答案).doc
- 计算机实习报告范文汇编十篇(1).doc
- 电子商务实习报告范本(1).doc
- 电气工程及其自动化变电站设计开题报告资料(1).doc
- 基于jsp和ssh的宠物连锁网站--大学论文(1).doc
- 本科毕设论文-—基于web的客户关系管理系统的设计与实现(1).doc
- 宝马mini互联网营销推广策划方案(1).doc
- 互联网上的侵权责任:《侵权责任法》第36条解读(1).docx
- 2020年服装类网站广告合同范本(1).doc


