有时候会遇到不同文件夹文件重名的问题,需要重命名,写了这样一个函数。
注:该函数未经测试
import os
import random
import shutil
import time
def rename_img(ori_folder,targ_folder):
imgs = []
for i,j,k in os.walk(ori_folder):
pt = [os.path.join(i, ik) for ik in k if ik.split('.')[-1] in ['jpg','JPG','jpeg','png','PNG']]
imgs.extend(pt)
#random.shuffle(imgs)
for i in range(len(imgs)):
img = imgs[i]
new_name = time.strftime("%Y_%m_%d_%H_%M_%S", time.localtime())+'_'+str(i)+'.jpg'
timg = os.path.join(targ_folder,new_name)
shutil.copyfile(img,timg)
return
有时候还要对图像的大小进行限制
import os
import random
import shutil
import time
from PIL import Image
def rename_img(ori_folder,targ_folder,height=800,width=800):
imgs = []
for i,j,k in os.walk(ori_folder):
pt = [os.path.join(i, ik) for ik in k if ik.split('.')[-1] in ['jpg','JPG','jpeg','png','PNG']]
imgs.extend(pt)
#random.shuffle(imgs)
for i in range(len(imgs)):
img = imgs[i]
image_raw=Image.open(img)
wt, ht = image_raw.size
new_name = time.strftime("%Y_%m_%d_%H_%M_%S", time.localtime())+'_'+str(i)+'.jpg'
if wt > width or ht > height:
SMALL_SIZE = (width,height)
image_raw.thumbnail(SMALL_SIZE, Image.ANTIALIAS)
image_raw = image_raw.convert("RGB")
image_raw.save(new_name)
return