본문 바로가기

python

(5)
[Python] 사진 자동 정리 프로그램 개발 (EXIF) 핸드폰/디카로 사진 촬영하는 일은 이제 일상이 되었습니다. Google Photo 를 사용하면 간편하지만, 비용도 문제고 과거 파일도 업로드해야하고, 용량이 크면 비용도 문제가 됩니다. 저도 NAS에 아이 과거부터 있던 사진만 수만장이 되는데, 한 폴더에 넣고 찾기 편하게 관리했더니 폴더가 느려져서 문제가 생기고 역시 사진 찾기도 어려웠습니다. 수만장 사진 파일을 어떻게 정리할지 고민하다.. 촬영 년/월로 자동으로 정리해 주는 프로그램을 만들어 보았습니다. 이미지 정리 규칙 촬영한 년>월 형태로 디렉토리(폴더)를 만들고 자동으로 파일을 옮겨줍니다. 동일한 파일명이 있으면, "dup_" 파일명을 수정해서 이동합니다. (혹시나 동일 파일명으로 이전파일을 삭제 하지 않도록) 알고리즘 작업 디렉토리의 이미지 파..
[Python]이미지 메타정보(EXIF)로 촬영일시 찾기 휴대폰, 카메라로 촬영한 이미지네은 EXIF 라고 하는 메타정보가 있습니다. 이 정보에는 이미지이름, 크기,촬영일시, 카메라 정보, GPS , 노출정보등 다양한 정보가 있습니다. 휴대폰 및 디지털 카메라로 촬영한 이미지는 더욱 많은 정보를 가지고 있습니다. Python 에서 EXIF (EXchangeble Image file Format) 정보를 활용하여 촬영 일자를 확인하는 방법을 찾아봅니다. Python 에서는 EXIF 를 읽기 위해서 PIL 패키지가 필요합니다. EXIF 정보 출력 PIL 패키지로 이미지파일 읽기 tag정보(tag_id)를 (key, value) 형태로 읽기 from PIL import Image from PIL.ExifTags import TAGS def get_image_exif..
[Python] 디렉토리 내 파일 목록 리스트 디렉토리 경로에 존재하는 파일 리스트를 저장하고 출력하는 간단한 예제입니다. 프로그래밍을 하다보면 현재 디렉토리, 파일 목록을 관리할 일이 생깁니다. 요즘에는 chaGPT , copilot 과 같은 서브스가 많아서 구글링 보다 AI에서 물어보는것이 빠르지만, 자주 쓰는 패턴을 기록해봤습니다. 주요 사용 함수 os.listdir( path ) : path os.path.getsize( path, filename ) : 파일 크기 반환 os.getcwd( ) : 현재 디렉토리 경로 반환 os.path.getctime( path, filename ) : 파일 생성일시 반환 os.path.getmtime( path, filename ) : 파일 수정일시 반환 os.path.getatime( path, filen..
[Python] 효과적인 print 패턴, debug 최적 패턴 코딩하면서, debug용이나 기타 출력을위해서 print 사용을 많이 한다. 실제로 사용하면서 가장 효과적인 print 패턴이 바로 아래 패턴 같다 추천하는 print 사용 패턴 출력 파라미터 변수명을 { } 안에 지정하여 사용하고, 출력 대상은 f' ' 표현식을 유지하는 방법이 가장 편리하고 직관적이다. print(f'[{i}]번째 x,y,w,h : {x},{y},{w},{h}') print(f'{a} X {b} = {a*b}') format( ) 과 비교하기 print 찍을 변수들의 순서를 지정하고, 순서에 맞게 매핑이 필요하다. 출력 순서가 바뀌거나, 항목 추가가 필요 할 때 일일이 수정이 필요하다. # .format 방식 print('{0} x {1} = {2}'.format(a, b, a * b..
[AWS]쉽고 간단하게 서버 만들기 - EC2, Python, Flask 1. EC2 인스턴스 생성하기 원하는 리전(Region)에 인스턴스 시작 AMI 선택 - 원하는 이미지 선택하면되며, 리눅스/ubuntu/수세/레드헷/windows 등 다양합니다. 인스턴스 유형 선택 (옵션) 태그 지정 보안그룹 구성 - 기본으로 만들 때, 소스(0.0.0.0) 디폴트여서 전체 open 되어있다는 경고가 있는데, 접속하고자 하는 PC IP 지정해도 됨 - 보안그룹은 인스턴스 생성 이후에도 수정 가능합니다. 키 페어 선택/생성 (PEM 파일 생성) - EC2 접속을 Key Pair ( AWS에 퍼블릭키, 접속PC에 프라이빗키)를 생성하여 접속 보안을 강화 ( 키 페어 사용을 권장 ) - PEM (Privacy Enhanced Mail) : 일반적으로 웹서버, SSH 에 사용가능하며 안전한 ..