#使用opencv对图片进行重命名时,常常由于图片的命名为中文或者为无法识别的字符导致报错,这就需要对图片进行重命名,但有时候需要处理的图片数量较多#
import os
def rename(path):
filelist = os.listdir(path) # 获取指定的文件夹包含的文件或文件夹的名字的列表
print(filelist)
total_num = len(filelist) #获取文件夹内所有文件个数
i = 0 # 图片名字从0开始
c = 0
for item in filelist: #遍历这个文件夹下的文件,即图片
if item.endswith('.jpg'):
#判断是否为.jpg结尾(是否为图片)
src = os.path.join(os.path.abspath(path), item)
#旧名字
dst = os.path.join(os.path.abspath(path),str(i) + '.jpg')
#新名字
try:
os.rename(src, dst)
#修改名字
print ('converting %s to %s ...' % (src, dst))
i = i + 1
c = c + 1
except:
continue
print('total %d to rename & converted %d jpgs' % (total_num, i))
print('total %d to rename & converted %d jpgs' % (total_num, c))
if __name__ == '__main__':
path = r'文件夹地址'
rename(path)
这个代码是针对jpg后缀名的,如果自己文件夹中的是其他后缀名的可以直接修改
if item.endswith('.png'):
#判断路径是否以.jpg结尾(判断是否是图片)
src = os.path.join(os.path.abspath(path), item)
dst = os.path.join(os.path.abspath(path), str(i) + '.png')
比如说png,就直接将这两段代码的判断以及后面的拼接上后缀名这两句的后缀名进行修改,将.jpg换为.png就可以了
如果文件夹中的图片还有多个图片后缀名有两个方法
1.一个是对代码进行修改,这段代码的判断条件是判断图片结尾是否为jpg后缀名,可以将这个判定条件添加,多个条件判断,加上jpg、png或阿巴阿巴什么的,当然其他代码也得进行微调(可以观看作者后续博客)
2.还有就是直接先将文件夹中的图片后缀名先转化为统一的处理,png转化为jpg(可以观看作者后续博客)
感觉有用的友友们可以酌情给个赞偶