Python脚本批量重命名图片

# -*- coding: utf-8 -*-
"""
Created on Tue Mar 23 13:34:59 2021@author: 洋洋
"""# -*- coding:utf8 -*-import os
class BatchRename():'''批量重命名文件夹中的图片文件'''def __init__(self):self.path = 'E:/models/research/object_detection/images/test'     #存放图片的文件夹路径def rename(self):filelist = os.listdir(self.path)total_num = len(filelist)i = 1for item in filelist:if item.endswith('.jpg'):  #图片格式为jpgsrc = os.path.join(os.path.abspath(self.path), item)dst = os.path.join(os.path.abspath(self.path),  str(i) + '.jpg')      #设置新的图片名称 str(i)前面可以加上字符串try:os.rename(src, dst)print ("converting %s to %s ..." % (src, dst))i = i + 1        except:continueprint ("total %d to rename & converted %d jpgs" % (total_num, i))
if __name__ == '__main__':demo = BatchRename()demo.rename()

保存rename.py文件,然后运行就可以重命名

将图片批量命名为6位数的名字

# -*- coding:utf8 -*-import osclass BatchRename():'''批量重命名文件夹中的图片文件'''def __init__(self):# 我的图片文件夹路径self.path = 'C:/Users/洋洋/Desktop/images/test'def rename(self):filelist = os.listdir(self.path)total_num = len(filelist)i = 1n = 6for item in filelist:if item.endswith('.jpg'):n = 6 - len(str(i))src = os.path.join(os.path.abspath(self.path), item)dst = os.path.join(os.path.abspath(self.path), str(0) * n + str(i) + '.jpg')try:os.rename(src, dst)print('converting %s to %s ...' % (src, dst))i = i + 1except:continueprint('total %d to rename & converted %d jpgs' % (total_num, i))if __name__ == '__main__':demo = BatchRename()demo.rename()

jpg和标注数据xml同时重命名

#!usr/bin/python
# -*- coding:utf-8 -*-
import os
import xml.etree.ElementTree as ET
import xml.dom.minidom# 获取文件夹中bmp图片的数量
def getDirImageNum(path):bmpDirImagesNum = 0for bmpfile in os.listdir(path):if os.path.splitext(bmpfile)[1] == '.bmp':bmpDirImagesNum += 1return bmpDirImagesNum# 获取文件夹中xml文件的数量
def getDirXmlNum(path):xmlDirXmlNum = 0for xmlfile in os.listdir(path):if os.path.splitext(xmlfile)[1] == '.xml':xmlDirXmlNum += 1return xmlDirXmlNumdef rename(inputpath,outpath):filelist = os.listdir(inputpath) # 获取文件路径i = getDirImageNum(outpath)  # 表示bmp文件的命名是从当前输出文件夹中的bmp文件数目开始的j = getDirXmlNum(outpath) # 表示xml文件的命名是从当前输出文件夹中的xml文件数目开始的for item in filelist:if item.endswith('.bmp'):  # 初始的图片的格式为bmp格式的(或者源文件是png格式及其他格式,后面的转换格式就可以调整为自己需要的格式即可)src = os.path.join(os.path.abspath(inputpath), item)  #dst = os.path.join(os.path.abspath(outpath), '0' + format(str(i), '0>3s') + '.bmp')    # 这种情况下的命名格式为0000.bmp形式,可以自主定义想要的格式try:os.rename(src, dst)print ('converting %s to %s ...' % (src, dst))i = i + 1except:continueif item.endswith('.xml'):  #初始的图片的格式为xml格式的src2 = os.path.join(os.path.abspath(inputpath), item)dst2 = os.path.join(os.path.abspath(outpath), '0' + format(str(j), '0>3s') + '.xml')    # 这种情况下的命名格式为0000.xml形式,可以自主定义想要的格式try:# 读取xml文件dom = xml.dom.minidom.parse(src2)root = dom.documentElement# 获取标签对path之间的值并赋予新值jroot.getElementsByTagName('path')[0].firstChild.data = dst2# 获取标签对filename之间的值并赋予新值jroot.getElementsByTagName('filename')[0].firstChild.data = '0' + format(str(j), '0>3s') + '.xml'# 将修改后的xml文件保存,xml文件修改前后的路径# 打开并写入with open(src2, 'w') as fh:dom.writexml(fh)os.rename(src2, dst2)print ('converting %s to %s ...' % (src2, dst2))j = j + 1except:continueif __name__ == '__main__':inputPath = 'C:\\Users\\Zhangwei\\Desktop\\images'  # 表示需要命名处理的文件夹outPath = 'C:\\Users\\Zhangwei\\Desktop\\data'      # 表示重命名后输出的文件夹for root, dirs, files in os.walk(inputPath):for file in files:rename(root,outPath)

参考博客:
https://blog.csdn.net/lwplwf/article/details/78368229
https://blog.csdn.net/zichen_ziqi/article/details/84970497?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162021864016780274154811%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=162021864016780274154811&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~rank_v29-1-84970497.nonecase&utm_term=%E5%9B%BE%E7%89%87%E6%96%87%E4%BB%B6%E5%92%8C%E6%A0%87%E6%B3%A8%E6%96%87%E4%BB%B6xml%E5%90%8C%E6%97%B6%E9%87%8D%E5%91%BD%E5%90%8D

Python脚本批量重命名图片相关推荐

  1. 《自拍教程71》Python mediainfo批量重命名图片文件,AV专家必备!

    案例故事: 大部分带彩色屏幕的终端设备,不管是手机,车机,电视等等,都需要涉及图片的显示, 作为一名专业的多媒体测试人员,我们需要一堆的规范化标准的的图片测试文件, 但是发现图片资源名字命名的很随意比 ...

  2. Python批量重命名图片

    Python批量重命名图片 # -*- coding:utf8 -*-import osclass BatchRename():'''批量重命名文件夹中的图片文件'''def __init__(sel ...

  3. python文件名批量重命名脚本

    python文件名批量重命名脚本 #encoding=utf-8 import cv2 import os import shutilbase_dir = r'文件所在的文件夹路径' SourseDi ...

  4. python重命名窗口_为《Python实现批量重命名》程序加一个GUI

    前一篇文章(Python实现批量重命名),用Pyton做了一个批量重命名的小脚本程序,但是觉得这个用起来不太方便,于是想要进行一些改进,最好再加上GUI. 一. 首先,它的修改路径是写死在代码中的:# ...

  5. Python实现批量重命名

    Python实现批量重命名 最近在网络上下载了一部漫画,漫画是图片形式的,下载下来后才发现每一张漫画图片的文件名都是没有规律且又长又复杂的,想要把它们改成按数字递增规律的,一个一个去改文件名工作量太大 ...

  6. Ubuntu下批量重命名图片并将路径写入txt文件

    一.批量重命名图片 在图片所在的文件夹中,创建rename.txt文件,在文件中写入如下内容,并根据注释要求按需更改图片数量和格式: > #!/bin/bash > i=130;#文件夹里 ...

  7. 办公知识分享:如何一次性批量重命名图片?这个方法非常简单

    我们平常用电脑办公时,难免会在桌面上堆积很多图片文件,想要将图片重命名放入文件夹归类时,却发现图片太多不好重命名,一张一张更换名字不仅耗费时间还容易出现错漏. 在我们做这种看似繁杂但有规律的事情时,可 ...

  8. 批量重命名图片或者批量重命名txt文件,批量重命名代码

    批量重命名图片 # 批量重命名图片名字 按照自己要求 import os path = r'C:\Users\yewenjing\Desktop\111' # 需要重命名的图片路径,提取保存份在跑 f ...

  9. 如何运用bat脚本批量 重命名/复制 文件

    在平时运维的时候,最繁琐的就是要每个月写运维记录的文档如excel表格,一个月30日要产生30个文件,拷30个运维记录文档的模版再进行重命名实在太麻烦了,所以想到copy模版之后可以用脚本来对文件进行 ...

最新文章

  1. html整体垂直居中,htmlcss垂直水平居中
  2. webview键盘自适应_苹果笔记本显示器键盘专利曝光:单按键可重新配置
  3. 【debug】moduleNotFoundError:No module named 'exceptions'
  4. 7-168 币值转换 (20 分)
  5. 神奇的G1——Java全新垃圾回收机制
  6. 9个笑话 顿悟9个人生道理
  7. 20145233《网络对抗》Exp6 信息收集和漏洞扫描
  8. Java Web程序设计
  9. UVALive 7345 J - The Hypnotic Spirals
  10. Incentive Mechanism Design for Distributed Coded Machine Learning论文笔记
  11. Win10 添加传统照片查看器
  12. 国外11个高质量免费的3D素材网站-建筑设计/室内设计/效果图渲染
  13. 几种spootboot配置参数线上修改方法
  14. 【Android自定义View实战】之仿去哪儿网App图片按压显示指纹并缩放效果TouchFingerImageView
  15. 解决adb shell root权限
  16. WPA_Suppliant简介
  17. Python文件及文件夹处理
  18. 计算机图形学在卫星的应用,计算机图形学课程设计教程-反走样卫星
  19. 如何更新/升级 python 库?
  20. 关于使用C#WInform编程时两个窗口互操作的方法

热门文章

  1. PyG利用GAT实现Cora、Citeseer、Pubmed引用论文节点分类
  2. 实时的可视化疫情地图
  3. 都是工作好几年的网络工程师,你可千万别再这样写年终总结了
  4. 电脑wps可以语音录入吗_简单几步 让WPS 2010也能“开口说话”
  5. 韩顺平 数据结构与算法 (11_1) 树结构基础部分_二叉树
  6. 【图像插值】基于matlab稀疏拉普拉斯滤波器图像插值【含Matlab源码 2055期】
  7. Android-布局优化
  8. PLMN各种类型的含义及说明
  9. Mac 错误提示:zsh: command not found: brew解决方法
  10. java邮件模板_java创建邮件模板