Python 画像ファイルpngをjpgへ変換する「Pillow(PIL)」

 本記事では、複数のpng画像ファイルをjpgへ変換するコードを載せました。
pngがあるフォルダを指定することや、jpg変換先フォルダを指定すること、オリジナルpngファイルを削除するかを指定することも可能です。処理過程は下図のようにprint出力する仕様です。

f:id:HK29:20200619225934p:plain

■本プログラム

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# conda install pillow
import os, glob
from PIL import Image

def main():
    filepath_list = glob.glob(input_path + '/*.png') # .pngファイルをリストで取得する
    for filepath in filepath_list:
        basename  = os.path.basename(filepath) # ファイルパスからファイル名を取得
        save_filepath = out_path + '/' + basename [:-4] + '.jpg' # 保存ファイルパスを作成
        img = Image.open(filepath)
        img = img.convert('RGB') # RGBA(png)→RGB(jpg)へ変換
        img.save(save_filepath, "JPEG", quality=95)
        print(filepath, '->', save_filepath)
        if flag_delete_original_files:
            os.remove(filepath)
            print('delete', filepath)

if __name__ == '__main__':
    input_path = './Screenshots' # オリジナルpngファイルがあるフォルダを指定
    out_path = input_path # 変換先のフォルダを指定
    flag_delete_original_files = False # 元ファイルを削除する場合は、True指定

    main()

以上

<広告>