【python勉強中】」タグアーカイブ

【Python】jpg・webpをpngに変換してzipにまとめる

import os
from PIL import Image
import zipfile

# フォルダ内の画像ファイルを取得する
folder_path = os.path.dirname(__file__)
image_files = [os.path.join(folder_path, f) for f in os.listdir(folder_path) if f.endswith((".jpg", ".webp"))]

# 画像ファイルを変換して保存する
converted_files = []
for image_file in image_files:
    image = Image.open(image_file)
    png_file = os.path.splitext(image_file)[0] + ".png"
    image.save(png_file, "png")
    image.close()
    converted_files.append(png_file)

# 変換した画像ファイルをZIPファイルに圧縮する
zip_file = zipfile.ZipFile(os.path.join(folder_path, "converted_images.zip"), "w")
for png_file in converted_files:
    zip_file.write(os.path.join(folder_path, png_file), png_file)
zip_file.close()

# 元の画像ファイルと変換した画像ファイルを削除する
for image_file in image_files + converted_files:
    os.remove(image_file)