码迷,mamicode.com
首页 > 编程语言 > 详细

使用python对文件夹下的照片进行批量修改尺寸

时间:2020-03-19 15:22:04      阅读:92      评论:0      收藏:0      [点我收藏+]

标签:照片   pat   批量   util   目录   创建   mtr   div   etc   

import os
import shutil
import time
from time import sleep
from PIL import Image
from tqdm import tqdm


def makeDirs(path):
    # 创建新的输出子目录,若存在输出该目录则删除该目录及其子文件夹和文件
    if os.path.exists(path):
        shutil.rmtree(path)
    os.mkdir(path)


def resizePics(size):

    # default_path=os.getcwd()##设置默认打开目录,即当前目录
    # default_path = "/pics"

    inpath = os.getcwd()
    outdir = os.path.basename(inpath)+‘-resize‘
    outpath = os.path.join(os.path.dirname(inpath), outdir)

    makeDirs(outpath)

    # 列出所在目录下的所有目录和文件
    lists = os.listdir(inpath)

    starttime = time.time()
    for i in tqdm(range(0, len(lists))):
        subdir = lists[i]
        subpath = inpath+"/"+subdir  # 子目录路径
        if os.path.isdir(subpath):
            outsubdir = subdir+‘-resize‘
            outsubpath = os.path.join(outpath, outsubdir)

            makeDirs(outsubpath)

            # 对文件夹下的照片文件调整大小
            # 列出某个子目录下的所有文件和目录
            flists = os.listdir(subpath)
            for j in tqdm(range(0, len(flists))):
                sleep(0.01)
                fname = flists[j]
                fpath = subpath+"/"+fname
                if os.path.isfile(fpath):
                    resizeSinglePic(fname, fpath, outsubpath)

    passtime = time.time()-starttime
    print(‘照片压缩完毕,总共花费了 %f s‘ % (passtime))


def resizeSinglePic(fname, fpath, outsubpath):
    fbasename = os.path.basename(fpath)
    fext = os.path.splitext(fpath)[-1]
    if fext in img_ext:
        img = Image.open(fpath)
        img.thumbnail(size)
        outfile = outsubpath+"/"+fbasename
        img.save(outfile)


img_ext = [‘.bmp‘, ‘.jpeg‘, ‘.JPEG‘,‘.gif‘, ‘.psd‘, ‘.png‘, ‘.JPG‘, ‘.jpg‘]
size = (800, 600)
resizePics(size)

使用python对文件夹下的照片进行批量修改尺寸

标签:照片   pat   批量   util   目录   创建   mtr   div   etc   

原文地址:https://www.cnblogs.com/dogingate/p/12524342.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!