python图片批量重命名

通常拍摄的一组数据集,图片命名会比较长,不方便人眼查看;
可以按照制定规则重命名,比如统一以8位长度的数字命名
在这里插入图片描述

1 图片批量重命名、格式转换

batch_rename.py

import os
import cv2
import shutil

# convert_format # 图片格式转换标志,默认为jpg不转换;如果转换其他格式,这里设为True
def renane(path_in,path_out,convert_format = False):
    file_in = os.listdir(path_in)      #返回文件夹包含的所有文件名
    num_file_in = len(file_in)          #获取文件数目

    for i in range(num_file_in):
    	#重命名并转换格式
        if convert_format: 
            # 方法一:原文件直接改后缀 (快,简单粗暴,图片只改了后缀,并未转换格式,有时可能会出错)
            #new_name = os.rename(path_in+"/"+file_in[i],path_in+"/"+'%08d.' % i + format)
            #方法二:读取图片后,以新的格式重新保存 (慢,稳妥)
            img = cv2.imread(os.path.join(path_in, file_in[i]))
            cv2.imwrite(os.path.join(path_out, '%08d.' % i + format), img) # 统一命名为8位数字格式 ,设置对应的图片后缀名
		
		#件重命名
        else:
            #原文件重命名
            new_name = os.rename(path_in+"/"+file_in[i],path_in+"/"+'%08d.jpg' % i)
            #复制到新路径下,并重命名
            #shutil.copyfile(os.path.join(path_in, file_in[i]), os.path.join(path_out, '%08d.jpg' % i))    

if __name__ == '__main__':
    #待批量重命名的文件夹
    path_in = "D:\Code\image2"    
    path_out = "D:\Code\image3"
    format = "png"     #重命名后的文件名后缀
    renane(path_in,path_out,convert_format = True)

在这里插入图片描述

  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

R-G-B

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值