python批量修改图片大小、图片名(一)

有时候会遇到不同文件夹文件重名的问题,需要重命名,写了这样一个函数。

注:该函数未经测试

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值