Python 批量转换图片格式
HDUZN

跟之前一篇文章:Python 批量修改图片尺寸 一样,用的也是PIL的库。

PIL(Python Imaging Library)是Python的第三方图像处理库,但由于其强大的功能,事实上已经被认为是图像处理标准库了。PIL功能非常强大,而且API却非常简单易用。

由于PIL仅支持到Python 2.7,加上年久失修,于是一群志愿者在PIL的基础上创建了兼容的版本,名字叫Pillow,支持最新Python 3.x,又加入了许多新特性,因此,我们可以直接安装使用Pillow。

安装Pillow库

1
pip install Pillow

官方文档上有提供Pillow支持的Python 版本。基本上Python3.7+版本对Pillow新版都是支持的。
https://pillow.readthedocs.io/en/latest/installation.html

批量转换图片格式

解决思路

  • 第一步,新建一个新的目录,用来存放转换好格式的图片(比如直接在目录后面加个格式类型)
  • 第二步,用os.listdir(path) 方法获取path目录下所有的图片文件名,返回一个List;
  • 第三步,遍历列表,处理每一张图片,把文件名原来的后缀去掉,保存的时候把新的后缀(格式类型)加上。

完整代码实现如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from PIL import Image
import os

# 批量转换图片格式为pic_type格式
def convert_image_format(path, pic_type):
outdir = path + '_' + pic_type # 'C:\pictest_jpg'
mkdir(outdir)
file_list = os.listdir(path)
# print(file_list)
for file in file_list:
with Image.open(path+'\\'+file) as image:
filename = os.path.splitext(file)[0]
if(image.mode != 'RGB'):
image = image.convert('RGB')
image.save(outdir+'\\'+filename+'.'+pic_type)

convert_image_format(path=r'C:\pictest', pic_type='jpg') # 把图片都转成jpg格式
  • 本文标题:Python 批量转换图片格式
  • 本文作者:HDUZN
  • 创建时间:2022-05-20 22:39:00
  • 本文链接:http://hduzn.cn/2022/05/20/Python-批量转换图片格式/
  • 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
 评论