直接上代码
# -*- coding:utf8 -*-
import os
from PIL import Image
import imageio.v2 as imageio
new_format = ".jpg"
class BatchRename():
'''
批量重命名文件夹中的图片文件
'''
def __init__(self):
self.path = 'C:\\Users\\chenyuhan\\Desktop\\d\\d\\model\\AI_challenger2\\val\\60' # 表示需要命名处理的文件夹
def rename(self):
filelist = os.listdir(self.path) # 获取文件路径
total_num = len(filelist) # 获取文件长度(个数)
i = 1 # 表示文件的命名是从1开始的
for item in filelist:
if item.endswith(".JPG"):
src = os.path.join(os.path.abspath(self.path), item.replace('.JPG', '.jpg'))
dst = os.path.join(os.path.abspath(self.path), format(str(i)) + '.jpg')
try:
os.rename(src, dst)
print('converting %s to %s ...' % (src, dst))
i = i + 1
except:
continue
for item in filelist:
if item.endswith('.jpg'): # 初始的图片的格式为jpg格式的(或者源文件是png格式及其他格式,后面的转换格式就可以调整为自己需要的格式即可)
src = os.path.join(os.path.abspath(self.path), item.replace('.JPG', '.jpg'))
dst = os.path.join(os.path.abspath(self.path), format(str(i)) + '.jpg') # 这种情况下的命名格式为0000000.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()
demo.rename()
两个For循环,一个是为了改格式,一个是为了做重命名
非常简单,我没有做精简