chatGPTに書いてもらった画像一括変換スクリプト(&忘れたプロンプトの推測)
WEBPからPNGへの一括変換スクリプト
これは以前、chatGPTに書いてもらった、フォルダ内の.webp形式の画像ファイルを一括で.png形式に変換するPythonスクリプトです。
とても便利で重宝しています。
ちょっとした命令でchatGPTがさささっと書いてくれました。
import os
from PIL import Image
def convert_and_move_webp_to_png(source_folder):
done_folder = os.path.join(source_folder, 'done')
# doneフォルダが存在しない場合は作成
if not os.path.exists(done_folder):
os.makedirs(done_folder)
# 指定されたフォルダ内の全ファイルをループ処理
for filename in os.listdir(source_folder):
# フルパスを取得
file_path = os.path.join(source_folder, filename)
# ファイルがWEBPの場合の処理
if filename.lower().endswith('.webp'):
# WEBPファイルを開く
with Image.open(file_path) as img:
# ファイル名を.PNGに変更
base_filename = os.path.splitext(filename)[0]
new_filename = f"{base_filename}.png"
new_file_path = os.path.join(source_folder, new_filename)
# PNGとして保存
img.save(new_file_path, "PNG")
# オリジナルのWEBPファイルをdoneフォルダに移動
done_file_path = os.path.join(done_folder, filename)
os.rename(file_path, done_file_path)
print(f"Converted and moved: {filename} -> {new_filename}")
if __name__ == "__main__":
source_folder ='◆◆◆/mywork/images'
convert_and_move_webp_to_png(source_folder)
忘れてしまったプロンプトの推測
さて、この時のプロンプトを削除してしまいましたが、このスクリプトから逆算してプロンプトを書いてもらうとどうなるのか試してみました。
推測してもらったプロンプトの実行と動作確認
最後に推測してもらったプロンプトでもう一回、スクリプトを書いてもらいました。
import os
from PIL import Image
# 入力ディレクトリと出力ディレクトリのパス
input_dir = 'path/to/input_dir' # .webp画像があるフォルダのパス
output_dir = 'path/to/output_dir' # 変換後の.png画像を移動させるフォルダのパス
# 出力ディレクトリが存在しない場合は作成
if not os.path.exists(output_dir):
os.makedirs(output_dir)
# 入力ディレクトリ内のすべてのファイルを走査
for filename in os.listdir(input_dir):
if filename.endswith('.webp'):
# 元のファイルパス
original_path = os.path.join(input_dir, filename)
# 新しいファイル名(.png拡張子)
new_filename = filename[:-5] + '.png'
# 出力ファイルパス
new_path = os.path.join(output_dir, new_filename)
# 画像を開いて.png形式で保存
image = Image.open(original_path).convert('RGBA')
image.save(new_path, 'PNG')
# 元のファイルを削除
os.remove(original_path)
print(f'{filename} を {new_filename} に変換して、{output_dir} に移動しました。')
print('すべての画像の変換と移動が完了しました。')
このスクリプトを実行すると、きちんと画像形式を変換して所定のフォルダに格納してくれます。
特定の行についての処理が何をしているのかも、聞けばAIが答えてくれます。
プログラミング初学者には素晴らしい時代だと思います。
この記事が気に入ったらサポートをしてみませんか?