관련 내용
takeout 기능으로 구글포토 사진 전체를 한번에 컴퓨터에 내려 받는 방법
이 팁이 필요한 이유
받은 구글 포토 사진을 정리해야하는데
보통은 exif 정보가 살아있어 advance renamer, exif renamer 같은 프로그램으로 일괄수정할 수 있습니다.
그런데 어떤 사진들은 json 파일에는 정보가 있으나
exif 정보는 전혀 없는 경우가 있습니다.
아마 후보정이나 공유를 하다 exif 정보가 날아갔지 싶습니다.

파이썬을 이용하면 json의 정보로 파일명을 간단하게 수정할 수 있을 것 같아
구글링으로 코드를 짜집기해 보았습니다.
코드
import json import os import glob import os.path json_files = glob.glob(r'C:\Users\user1\Desktop\Takeout\**\*.json', recursive=True) for json_file in json_files: with open(json_file, "r", encoding="utf-8") as f: json_object = json.load(f) try: old_name = os.path.dirname(json_file) + '\\' + json_object['title'] new_name = os.path.dirname(json_file) + '\\' + json_object["photoTakenTime"]["formatted"][:-4] + "_" + json_object['title'] os.rename(old_name, new_name) except: pass

실행방법
실행 위치는 어디든 관계 없습니다.
위에 적힌 코드 복붙하여 실행하되
6번째 줄 glob.glob 안의 경로 중 "takeout" 부분 까지를 구글 포토 다운 받아 압축 푼 폴더로 수정합니다.
상위폴더 하나만 지정해도 하위폴더 모두 반영됩니다.
파이썬 설치 및 실행 방법을 모르시면 아래 영상 참고하세요. 코드가 간단해서 설치 버전은 별 상관 없을 겁니다.
주의사항
1. json phototakentime 정보는 실제 촬영 시각과 다를 수 있습니다 (캡쳐, 후보정, 공유 받은 파일들).
2. 가끔 mp4 파일인데 json은 jpg로 되어 있다던가 mp4인데 mov로 되어있다던가 하는 식으로 맛이 간 경우들이 있습니다. 이 파일들까지는 고려하지 못했습니다.
위 내용에 대해
잘 안되면 알려주시고
고칠 부분 있으면 고쳐주시고 (프로그래머 아니고 근본 없습니다)
다른 곳에서 공유하고 싶으신 분은 조건없이 가져가세요.
파이썬을 전혀 모르는 분들 위해 간단한 코드 설명
import json
import os
import glob
import os.path <- json, os, glob, os.path 기능을 쓰기 위해 기능을 불러옵니다.
json_files = glob.glob(r'C:\Users\user1\Desktop\Takeout\**\*.json', recursive=True) <- 특정 경로 아래 확장자가 json인 파일들의 목록을 json_files 라는 이름으로 만듭니다.
for json_file in json_files: <- json_files 목록 안에 들어 있는 json_file 파일 경로들 각각에 대해 아래 사항을 실행합니다.
with open(json_file, "r", encoding="utf-8") as f: <- json_file의 내용을 f 라는 이름으로 불러옵니다.
json_object = json.load(f) <- f는 json인데 이걸 파이썬용으로 변환해서 json_object라는 이름을 붙입니다.
try:
old_name = os.path.dirname(json_file) + '\\' + json_object['title'] <- json에 대응하는 원본 사진 파일명 = old_name
new_name = os.path.dirname(json_file) + '\\' + json_object["photoTakenTime"]["formatted"][:-4] + "_" + json_object['title'] <- 사진 파일명을 어떻게 바꿀 것인지 정해 new_name 이라는 이름을 붙입니다. 이 부분을 적절히 수정하면 다른 이름도 붙일 수 있습니다. 여기서는 "phototakentime의 formatted 항목, 끝에서 글자 4개 제외" + _ + 원래 파일명 으로 수정하였습니다.
os.rename(old_name, new_name) <- 옛날 파일명을 새로운 파일명으로 바꿉니다.
except:
pass
파이썬 설치 방법은 인터넷에 많이 있습니다. 그걸 참조하면 됩니다.
영상 링크 본문에 추가하였습니다.
여기 사이트 보시면 json을 이용하여 exif 데이터 수정하는 방법이 망라되어있습니다.
참고하시면 좋을 것 같아요