사진 선별 GUI 앱 초기 커밋
RAW/JPG 매칭 스크립트에 tkinter GUI(폴더 선택)를 추가하고 py2app으로 .app/.dmg 패키징 설정 포함. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
+53
@@ -0,0 +1,53 @@
|
||||
import os
|
||||
import shutil
|
||||
|
||||
# =========================================================================
|
||||
# 알려주신 맥(Mac) 경로를 그대로 입력해 두었습니다.
|
||||
jpg_dir = r"/Users/hootongerun/Desktop/사진 선별/고른 jpg"
|
||||
raw_dir = r"/Volumes/K-3/DCIM"
|
||||
target_dir = r"/Users/hootongerun/Desktop/사진 선별/선별 완료"
|
||||
# =========================================================================
|
||||
|
||||
# 결과를 저장할 새 폴더 생성
|
||||
if not os.path.exists(target_dir):
|
||||
os.makedirs(target_dir)
|
||||
|
||||
# 1. 고른 JPG 폴더에서 파일 이름 추출
|
||||
try:
|
||||
jpg_files = os.listdir(jpg_dir)
|
||||
except FileNotFoundError:
|
||||
print(f"❌ 오류: JPG 폴더 경로를 찾을 수 없습니다: {jpg_dir}")
|
||||
print("폴더 이름에 오타가 없거나 실제로 존재하는지 확인해주세요.")
|
||||
exit()
|
||||
|
||||
jpg_names = {os.path.splitext(f)[0] for f in jpg_files if f.lower().endswith(('.jpg', '.jpeg'))}
|
||||
print(f"🔍 JPG 폴더에서 총 {len(jpg_names)}개의 사진 이름을 확인했습니다.")
|
||||
|
||||
# 2. RAW 폴더에 있는 파일 목록 가져오기
|
||||
try:
|
||||
raw_files = os.listdir(raw_dir)
|
||||
except FileNotFoundError:
|
||||
print(f"❌ 오류: RAW(메모리카드) 폴더 경로를 찾을 수 없습니다: {raw_dir}")
|
||||
print("메모리카드가 맥에 잘 연결되어 있는지 확인해주세요.")
|
||||
exit()
|
||||
|
||||
# 펜탁스 PEF 및 주요 RAW 확장자 지정
|
||||
raw_extensions = ('.pef', '.arw', '.cr2', '.cr3', '.nef', '.dng', '.orf', '.rw2', '.raf')
|
||||
|
||||
# 3. 이름이 일치하는 PEF 파일 복사
|
||||
count = 0
|
||||
for f in raw_files:
|
||||
name, ext = os.path.splitext(f)
|
||||
|
||||
# 확장자가 pef(대소문자 무관)이고 이름이 JPG 목록에 있다면 복사
|
||||
if ext.lower() in raw_extensions and name in jpg_names:
|
||||
src_path = os.path.join(raw_dir, f)
|
||||
dst_path = os.path.join(target_dir, f)
|
||||
|
||||
shutil.copy(src_path, dst_path)
|
||||
count += 1
|
||||
print(f"[{count}] 매칭 성공 복사 중: {f}")
|
||||
|
||||
print("-" * 50)
|
||||
print(f"🎉 작업 완료! 선택하신 JPG와 번호가 일치하는 PEF 파일 총 {count}개를 찾아서 '무제 폴더'로 모았습니다.")
|
||||
print("-" * 50)
|
||||
Reference in New Issue
Block a user