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+']'}")