鱼C论坛

 找回密码
 立即注册
查看: 2194|回复: 1

[技术交流] 批量修改指定目录下(含子目录)所有的jpg文件的分辨率

[复制链接]
发表于 2021-1-26 14:34:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
from PIL import Image
import os


def filenames(path):
    """返回一个目录(遍历)下所有的子文件"""
    lsdir = []
    for root, dirs, files in os.walk(path):
        filess = [os.path.join(root,i) for i in files]
        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([w, h]) > 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')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-27 11:30:53 | 显示全部楼层
学习了。

评分

参与人数 1荣誉 +1 鱼币 +1 收起 理由
tryhi + 1 + 1 鱼C有你更精彩^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-16 16:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表