전체 글
-
Python/날짜와 시간으로 사진 이름 변경 - 0. 개요코딩/Python 2024. 1. 18. 19:02
스마트폰 덕분에 사진이 매우 많은데 관리를 하는데는 어려움이 있다. 동영상은 끊어서 저장하는 경우도 많아 파일 이름으로 분류하기가 쉽지 않다. 또한 스마트폰 뿐만 아니라 카메라, 액션캠들에게서 영상과 사진을 가져오면서 분류하기가 더 힘들어졌고, 그 자료들로 앨범이나 다른 자료를 생성할 때 사진의 이름이 뒤죽박죽인 순서대로 자료도 뒤죽박죽이 된다. 그래서 모든 영상과 사진을 생성일자에 따라 관리하기 위해 파일이름을 변경시켜주기로 했다. 많은 양을 수동으로 변경하는 것은 불가능하고, 사진의 경우엔 파일 생성일자와 EXIF 날짜가 달라 일일이 확인하는 것도 불가능하다. EXIF가 있는 사진은 EXIF 생성일로, 동영상 등은 파일 생성일로 파일이름을 변경하는 프로그램을 만들었다. 이 프로그램은 메인 프로그램 외..
-
Python/날짜와 시간으로 사진 이름 변경 - 3.1 유니크한 파일 이름 설정코딩/Python 2024. 1. 18. 18:27
주어진 경로에서 파일을 생성할 때, 주어진 시간을 기반으로 한 고유한 파일 이름을 생성하는 함수. generate_unique_time 함수: path (str): 새로 생성될 파일이 저장될 디렉토리의 경로. extension (str): 파일의 확장자. time (dt.datetime): 파일 이름을 생성할 때 사용할 기준 시간. time_delta (float): 파일 이름이 충돌할 경우 시간을 얼마나 증가시킬지 나타낸다. file_name_format (str): 시간을 문자열로 변환할 때 사용할 형식. 반환값 (str): 생성된 고유한 파일 경로. 시간을 문자열로 변환 및 파일 경로 생성: 주어진 시간(time)을 지정된 형식(file_name_format)으로 문자열로 변환. 변환된 시간 문자열..
-
Python/파일을 다루는 두 가지 방식, with... 와 f=open()코딩/Python 2024. 1. 18. 18:03
파일을 명시적으로 닫는 것이 좋은 프로그래밍 습관이다. 파일을 열고 난 후에는 항상 해당 파일을 닫아야 한다. 파일을 열면 리소스가 할당되며, 파일을 닫지 않으면 이 리소스는 해제되지 않을 수 있다. with open() as f: with 문을 사용하면 블록을 벗어날 때 자동으로 파일을 닫아준다. 직접 f.close()를 호출하지 않아도 된다. def get_exif_tag(path_file: str, tag: str) -> str: with open(path_file, 'rb') as f: tags = exifread.process_file(f) data = tags[tag] return data f = open() ... f.close() f=open()으로 파일을 열 경우 항상 f.close()로..
-
Python/날짜와 시간으로 사진 이름 변경 - 3. Exif tag 추출, 파일 생성 시간, Exif tag 종류코딩/Python 2024. 1. 18. 17:36
파일들의 이름을 Exif 태그 또는 생성 시간을 기반으로 재지정하고, 각 파일에 대해 새로운 고유한 이름을 생성하여 변경하는 함수. rename_to_time 함수: path (str): 파일이 존재하는 디렉토리의 경로. files (list[str]): 파일 이름들을 담고 있는 리스트. tag_time (str): Exif 태그 중에서 사용할 시간 정보. exif_time_format (str): Exif 태그에서 가져온 시간 정보의 형식. file_name_format (str): 새로운 파일 이름을 생성할 때 사용할 형식. time_delta (float): 파일들 간의 시간 간격. 파일명이 중복될 경우 시간차이를 둬 파일이름을 변경하기 위한 변수 파일 루프: files 리스트에 있는 각 파일에 대..
-
Python/날짜와 시간으로 사진 이름 변경 - 2. 임시 이름 변경코딩/Python 2024. 1. 18. 17:13
매개변수 path (str): 파일이 존재하는 디렉토리의 경로. files (list[str]): 파일 이름들을 담고 있는 리스트. csv_name (str): CSV 파일의 이름. 변경된 파일 목록 및 각 파일의 원래 경로와 임시 경로를 저장. prefix_tmp (str): 임시 파일 이름의 접두어. 설명 특정 디렉토리에서 파일 이름을 임시로 변경하고, 변경된 파일 목록을 CSV 파일에 저장하는 기능을 수행. 파일 수에 따른 자릿수 지정: file_count = len(files): 주어진 디렉토리에서 가져온 파일의 수를 계산. zfill_number = len(str(file_count)): 파일 수에 따라 필요한 자릿수를 계산. 파일 이름 임시로 변경: tmp_files와 csv_rows 리스트 ..
-
Python/날짜와 시간으로 사진 이름 변경 - 1. 파일 목록 가져오기코딩/Python 2024. 1. 18. 17:08
이 코드는 특정 디렉토리에서 특정 확장자를 가진 파일 목록을 가져오는 함수다. 매개변수 path (str): 파일 목록을 가져올 디렉토리의 경로. extensions (list[str]): 선택하고자 하는 파일의 확장자 목록. 기능 파일 목록 가져오기: os.listdir(path)를 사용하여 지정된 경로에서 파일 목록을 가져온다. 확장자 선택 및 정렬: 가져온 파일 목록 중에서 주어진 확장자(extensions)에 해당하는 파일을 선택하고, 선택된 파일들을 정렬. 확장자 미사용 목록 출력: 선택된 확장자 외의 다른 확장자들을 모아서 미사용 목록을 출력. 설명 os.path.splitext(file)를 사용하여 파일의 확장자를 추출. extension.lower() in extensions를 통해 대소문..
-
VBA/파워포인트/사진정리 - 3. 기타 유틸리티코딩/vba 2024. 1. 13. 18:33
사진 정리 코드 작성을 위한 간단한 세 개의 유틸리티를 만들었다. 2024.01.10 - [코딩/vba] - VBA/파워포인트/사진정리 - 0. 개요 VBA/파워포인트/사진정리 - 0. 개요 맥에서 키노트로 열심히 사진을 정리하던 중, 왜 내가 이 노가다를 하고 있나 하는 자괴감이 생겨 파워포인트에서 자동정렬하는 VBA 코드를 만들었다. 키노트에서는 자동화를 할 수 있는 방법이 summertrees.tistory.com 사진 크기 확인 사진 크기를 픽셀 단위로 확인하기 위한 코드. 파워포인트에서 사진을 선택하고 실행한다. 선택된 개체가 사진이면 사이즈를 출력한다. Sub GetPictureSize() Dim selectedShape As Shape ' 현재 선택된 슬라이드에서 선택된 모양(Shape) 가..
-
VBA/파워포인트/사진정리 - 2.3. Shape 이동코딩/vba 2024. 1. 13. 14:02
도형을 새로운 슬라이드로 이동시키는 서브루틴으로, 도형의 배열(shapesArray), 이동할 원본 슬라이드의 도형들(sourceShapes), 그리고 이동할 대상 슬라이드의 도형들(destinationShapes)을 인자로 받는다. For i = LBound(shapesArray, 2) To UBound(shapesArray, 2): 도형 배열의 인덱스에 대해 반복. Set shp = sourceShapes(shapesArray(0, i)): 현재 인덱스에 해당하는 도형을 원본 슬라이드에서 가져온다. If shp.Type = msoPicture Then: 가져온 도형이 사진인 경우를 확인. msoPicture는 PowerPoint에서 사진을 나타내는 상수. shp.Copy: 현재 도형을 복사. dest..
-
VBA/파워포인트/사진정리 - 2.2.1. 사진 수 계산 함수코딩/vba 2024. 1. 13. 13:49
이 함수는 슬라이드에 있는 도형들 중에서 사진인 도형을 찾아서 해당 수를 반환하는 간단한 역할을 한다. 인수로 슬라이드에 있는 도형들(slideShapes)을 받는다. numberOfPics = 0: 초기에 사진의 수를 0으로 설정합니다. For Each shp In slideShapes ... Next shp: 슬라이드에 있는 각 도형에 대해 반복. If shp.Type = msoPicture Then: 현재 도형이 사진인 경우를 확인. msoPicture는 PowerPoint에서 사진을 나타내는 상수. numberOfPics = numberOfPics + 1: 사진인 도형을 발견하면 numberOfPics를 증가시킨다. GetNumberOfPictures = numberOfPics: 최종적으로 사진..
-
VBA/파워포인트/사진정리 - 2.2. 사진 정렬코딩/vba 2024. 1. 13. 13:45
슬라이드에 있는 사진을 정렬하는 서브루틴으로, 슬라이드에 있는 도형들(slideShapes), 도형들의 배열(shapesArray), 사진의 위치(positions), 그리고 크기(sizes)를 인자로 받는다. 인자들은 모두 참조형으로 받는다. numberOfPics = GetNumberOfPictures(slideShapes): GetNumberOfPictures 함수를 호출하여 슬라이드에 있는 사진의 수를 계산하고, numberOfPics에 저장. Select Case numberOfPics: numberOfPics의 값에 따라 다른 경우를 나누어 처리. Case 1: 사진의 수가 1개인 경우, positions(0) 및 sizes(0)에 따라 사진을 위치 및 크기를 설정. Case 2: 사진의 수가..