import os
import subprocess

def convert_images(input_folder, output_folder):
    print(f"Converting images from {input_folder} to {output_folder}")

    # 입력 폴더에서 모든 파일을 가져오기
    try:
        files = os.listdir(input_folder)
    except Exception as e:
        print(f"Error reading input folder: {e}")
        return

    # 각 파일에 대하여
    for file in files:
        print(f"Processing file: {file}")

        # 파일이 '._'로 시작하거나 png 또는 bmp 확장자를 가지고 있지 않으면 무시
        if file.startswith("._") or not file.endswith(('.png', 'PNG', '.bmp', 'BMP')):
            print(f"Skipping file: {file}")
            continue

        # 파일의 경로를 설정
        input_path = os.path.join(input_folder, file)
        output_path = os.path.join(output_folder, os.path.splitext(file)[0] + '.heic')

        # 이미지 변환 (ImageMagick 사용)
        try:
            print(f"Converting {input_path} to {output_path}")
            subprocess.run(['convert', input_path, '-depth', '10', output_path], check=True)
            print(f'Converted {file} to {output_path}')  # 변환 성공 메시지 출력
        except subprocess.CalledProcessError as e:
            print(f'Error converting {file}: {e}')  # 변환 실패 메시지 출력

        # 원본 파일 삭제
        # try:
        #     os.remove(input_path)
        #     print(f"Deleted original file: {input_path}")
        # except Exception as e:
        #     print(f"Error deleting file: {e}")

    # 사용 예시
    input_folder = '/Volumes/무제/PNG'
    output_folder = '/Volumes/무제/heic'
    convert_images(input_folder, output_folder)


chat gpt가 만드는대로 코드 짜봤는데 영 모르겠다

- for by dc official App