はじめに
Pythonでwebpをjpgに変換する方法です。
方法
事前準備(pillow のインストール)
$ pip install pillow
スクリプト
import glob
import os
import shutil
from PIL import Image
# 移動先フォルダに同名のファイルがあるかをチェックして、あればリネームする
# jpgを別のフォルダに移動しないなら不要
def duplicate\_rename(file_name_w_ext, target_path):
file_path = target_path + '/' + file_name_w_ext
if os.path.isfile(file_path):
file_name, ext = os.path.splitext(file_name_w_ext)
i = 1
while True:
new_file_name_w_ext = f'{file\_name}({i}){ext}'
new_file_path = target_path + '/' + new_file_name_w_ext
if not os.path.isfile(new_file_path):
return new_file_name_w_ext
i += 1
else:
return file_name_w_ext
# 作業ディレクトリの設定
os.chdir('hoge/fuga')
# ファイル移動先
target_path = 'hoge/jpg'
# コンバート
for file_path in glob.glob('\*.webp'):
file_name_wo_ext = os.path.splitext(
os.path.basename(file_path))[0] # 拡張子なしのファイル名
file_name_w_jpg = file_name_wo_ext + '.jpg'
print(f'convert: {os.path.basename(file\_path)}')
# 重複チェック
file_name_w_jpg = duplicate_rename(file_name_w_jpg, target_path)
# jpgへ変換
jpg = Image.open(file_path).convert('RGB')
jpg.save(file_name_w_jpg, 'jpeg')
# jpgは移動先フォルダへ
shutil.move(file_name_w_jpg, target_path)
# webpは削除
os.remove(file_path)
print('done')