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
함수를 실행안햇으니까