Python脚本批量重命名图片

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

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 = 1
        for item in filelist:
            if item.endswith('.jpg'):  #图片格式为jpg
 
                src = 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:
                    continue
 
        print ("total %d to rename & converted %d jpgs" % (total_num, i))
if __name__ == '__main__':
    demo = BatchRename()
 
    demo.rename()

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

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

# -*- coding:utf8 -*-

import os


class BatchRename():
    '''
    批量重命名文件夹中的图片文件
    '''

    def __init__(self):
        # 我的图片文件夹路径
        self.path = 'C:/Users/洋洋/Desktop/images/test'

    def rename(self):
        filelist = os.listdir(self.path)
        total_num = len(filelist)
        i = 1
        n = 6
        for 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 + 1

                except:
                    continue
        print('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 = 0
    for bmpfile in os.listdir(path):
        if os.path.splitext(bmpfile)[1] == '.bmp':
            bmpDirImagesNum += 1
    return bmpDirImagesNum
 
# 获取文件夹中xml文件的数量
def getDirXmlNum(path):
    xmlDirXmlNum = 0
    for xmlfile in os.listdir(path):
        if os.path.splitext(xmlfile)[1] == '.xml':
            xmlDirXmlNum += 1
    return xmlDirXmlNum
 
 
def 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 + 1
            except:
                continue
 
        if 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之间的值并赋予新值j
                root.getElementsByTagName('path')[0].firstChild.data = dst2
 
                # 获取标签对filename之间的值并赋予新值j
                root.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 + 1
            except:
                continue
 
 
if __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 工程化---Point 1:批量重命名图片脚本 本文介绍了使用Python批量重命名图片的工程化方法,包含遍历文件、格式命名等核心功能。首先通过os模块的listdir()遍历指定文件夹,使用splitext()分离文件名和扩展名。然后利用rename()实现".jpg"改".png"的格式转换,并修正了路径拼接错误。最后演示了三种格式化命名方式:字符串拼接、%格式化、format()方法,以及保持原编号的zfill()补零技巧。完整代码实现了将图片批量重命名为"img_0001.jpg"等统一 阅读详情

相关推荐

python项目合集 | 9个自动化脚本,PPT批量生成缩略图、添加图片重命名

01. 文件名批量处理首先,一番先对所有文件夹和文件做了规则化的命名处理。这里分了4个步骤处理:01-文件名批量替换特定字符该程序会遍历指定的目录(不包含子目录),查找所有包含旧字符串的文件名,并将这些文件名中的旧字符串替换为新字符串。02-文件夹名批量替换特定字符该程序会遍历指定的目录(不包含子目录),查找所有包含旧字符串的文件夹名,并将这些文件夹名中的旧字符串替换为新字符串。03-文件夹加序号排序该程序会遍历指定的目录(不包含子目录)下所有文件夹,根据文件夹修改时间,加上序号排序作为前缀。

Saki_Python的博客 542

图片批量重命名方法(bat命令).docx

使用bat命令批量提取名称,批量重命名 不用安装其余软件,快捷好用

4、python 进行相同文件名(不同扩展名)数据对应和重命名及有区别标签提取

实验背景: 存在一个文件夹,文件内存在图片数据和相应的对应标注的json串; 实验目的: 首先检查一下文件内的图片数据和json串是否一对一对应: 在一一对应情况下,进行重新编号; 然后进行随机抽查,生成重编号数据是否匹配; # -*- coding: utf-8 -*- import os path1 = r'JPEGImages' def file_name(file_di...

sxj731533730 2887

图片批量重命名脚本

读取文件夹内全部照片,jpg格式,按序重命名,从0001开始递增。

Es_trella222的博客 399

bat批量图片文件名

bat命令,改文件名。

weixin_46601305的博客 4355

批量图片重命名脚本

训练深度学习网络时,往往要给自己的数据集按照一定的格式批量重命名,这里提供一个好用的Python脚本 # -*- coding:utf8 -*- import os class BatchRename(): ''' 批量重命名文件夹中的图片文件 ''' def __init__(self): self.path = '/home/luke/d...

乐多的博客 5344

文件夹下图片批量重命名

文件夹下图片批量重命名

学海无涯 1141

Python脚本轻松实现批量图片重命名

************************************************************************** 摘要:网上爬取的图片名字很混乱,格式也比较多,需要对图片格式、图片名字进行统一加工 工具:PyCharm ****************************************************************...

weixin_30378623的博客 326

Python脚本批量重命名图片

使用Python的`os`库完成批量重命名图片

python_plus的博客 1086

Python脚本批量图片重命名

Python脚本批量图片重命名

PythonAndSeo的博客 781

python脚本批量修改图片像素大小和重命名

可能对学习FCN和CNN的同学有点帮助 Resize程序 def resize(f): rgb=io.imread(f) #依次读取rgb图片 #gray=color.rgb2gray(rgb) #将rgb图片转换成灰度图 dst=transform.resize(rgb,(256,256)) #将灰度图片大小转换为256*256 return ...

wws的博客 4413

一个简单的Python自动化脚本批量重命名图片文件(00-09 → 0-9)

添加前缀或后缀 new_name = f"image_ {# 添加前缀或后缀 new_name = f"image_ {# 添加前缀或后缀 new_name = f"image_ {通过这个简单的脚本,我们不仅解决了眼前的文件重命名需求,还建立了一个可复用的批量文件处理模板。自动化:用代码代替重复的手工操作安全性:备份和冲突处理机制用户体验:操作确认和详细日志希望这个脚本对你有帮助!如果你有类似的批量处理需求,欢迎在评论区讨论交流。完整代码已上传,可以直接复制使用。🚀。

Stream_Silver的博客 571

告别手动整理!批量图片重命名全攻略:从系统工具到Python脚本

文件管理与自动化是提升数字工作效率的核心基础。其原理在于通过规则与脚本,将重复性手动操作转化为系统化、可复用的流程,从而释放人力,减少错误。这项技术的价值在于构建高效、规范的数字化工作流,是设计师、摄影师、内容创作者及IT运维人员的必备技能。典型的应用场景包括海量照片归档、项目素材整理、自动化内容处理流水线等。本文聚焦于解决“批量图片命名”这一高频痛点,深入剖析了从Windows资源管理器、macOS访达等系统原生工具,到Advanced Renamer等专业图形化软件,再到PowerShell、Bash命

weixin_29061531的博客 304

使用python批量图片重命名

批量重命名图片名字

zhn3648的博客 9267

[python3] 批量重命名图片为定长0000xxx.xxx的python脚本

#!/usr/bin/env python # -*- coding:UTF-8 -*- # 2020/1/10 修改为通用尾缀可用脚本 import os import random # Img_dir 为图片数据集所在的路径 # bias 为最终的偏置量,'-1'表示将图片的名称变短一个字符 # 假设原来的图片的名称为 00001234.jpeg # 传入 bias = 1 会让图片...

... 1335

python脚本批量去除部分图片水印,排序,改图片格式,尺寸,重命名代码

【代码】python脚本批量去除大多数图片水印,排序,改图片格式,尺寸,重命名代码。

qq_26135097的博客 465

python批量重命名脚本(可重命名图片,文本等)

代码如下亲测可用: import os import sys def rename(): path=input("请输入路径(例如D:/picture):") name=input("请输入开头名:") startNumber=input("请输入开始数:") fileType=input("请输入后缀名(如 .jpg、.txt等等):") print("正在生成以"+name+startNumber+fileType+"迭代的文件名") count=0

qq_41732048的博客 347

文件夹批量重命名文件1到100python脚本批量重命名图片为例

批量重命名文件 照片

tanmengdebaba的博客 655

python批量重命名图片、文件脚本

import os # 批量重命名文件夹中的图片文件 class BatchRename(): def __init__(self, file_path): self.path = file_path def rename(self): filelist = os.listdir(self.path) total_num = len(filelist) # 获取文件夹内所有文件个数 i = 1 # 表示文件的命名是从1.

guhuoone的博客 314
上一篇: Anaconda的使用
下一篇: python脚本批量更改图片大小
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值