鱼C论坛

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

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

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

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

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

x
  1. from PIL import Image
  2. import os


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



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

  14. for file in img_path:
  15.     p1, p2 = os.path.splitext(file)
  16.     if p2.lower() == '.jpg'
  17.     name = p1 + '_new' + p2
  18.     im = Image.open(file)
  19.     w, h = im.size
  20.     if max([w, h]) > fbl:
  21.         if w > h:
  22.             bl = fbl / w
  23.             nw, nh = fbl, int(h * bl)
  24.         else:
  25.             bl = fbl / h
  26.             nh, nw = fbl, int(w * bl)
  27.     im.thumbnail((nw, nh))
  28.     im.save(name, 'JPEG')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

评分

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

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-28 13:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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