tryhi 发表于 2021-1-26 14:34:17

批量修改指定目录下(含子目录)所有的jpg文件的分辨率

from PIL import Image
import os


def filenames(path):
    """返回一个目录(遍历)下所有的子文件"""
    lsdir = []
    for root, dirs, files in os.walk(path):
      filess =
      lsdir.extend(filess)
    return lsdir



print('批量修改指定目录(含子目录)下所有的jpg文件的分辨率\n\n')
path = input('输入文件夹的路径:')
fbl = int(input('输入最大边的分辨率:'))
img_path = filenames(path)# 所有文件路径

for file in img_path:
    p1, p2 = os.path.splitext(file)
    if p2.lower() == '.jpg'
    name = p1 + '_new' + p2
    im = Image.open(file)
    w, h = im.size
    if max() > fbl:
      if w > h:
            bl = fbl / w
            nw, nh = fbl, int(h * bl)
      else:
            bl = fbl / h
            nh, nw = fbl, int(w * bl)
    im.thumbnail((nw, nh))
    im.save(name, 'JPEG')

天下有雪 发表于 2021-1-27 11:30:53

学习了。
页: [1]
查看完整版本: 批量修改指定目录下(含子目录)所有的jpg文件的分辨率