python

#png-base64-without_BOM 複数のpngに対応
#python --version 
#Python 3.9.4
#>python pngs-base64.py
import os
import base64

# 保存ディレクトリとファイル名を指定
base_directory = 'flowers'
output_directory = 'base64'
output_file_prefix = 'base-'

# 'base64'ディレクトリが存在しない場合は作成する
if not os.path.exists(output_directory):
    os.makedirs(output_directory)

# 保存ディレクトリ内のすべての.pngファイルを処理する
for filename in os.listdir(base_directory):
    if filename.endswith('.png'):
        # pngファイルのパスを取得
        png_file_path = os.path.join(base_directory, filename)

        # pngファイルをバイナリモードで読み込む
        with open(png_file_path, 'rb') as png_file:
            # バイナリデータをBase64エンコードする
            base64_encoded_data = base64.b64encode(png_file.read())

        # 出力ファイル名を設定
        output_file_name = '{}{}'.format(output_file_prefix, filename)

        # Base64エンコードされたデータをテキストファイルに書き込む
        # ファイルをBOMなしで保存する
        with open(os.path.join(output_directory, '{}.txt'.format(output_file_name)), 'wb') as output_file:
            output_file.write(base64_encoded_data)

print(f"escaped_file has been generated and saved to {'Save Directory::'+'['+output_directory+']'}")