CLIEN

본문 바로가기 메뉴 바로가기 보기설정 테마설정
톺아보기 공감글
커뮤니티 커뮤니티전체 C 모두의광장 F 모두의공원 I 사진게시판 Q 아무거나질문 D 정보와자료 N 새로운소식 T 유용한사이트 P 자료실 E 강좌/사용기 L 팁과강좌 U 사용기 · 체험단사용기 W 사고팔고 J 알뜰구매 S 회원중고장터 B 직접홍보 · 보험상담실 H 클리앙홈
소모임 소모임전체 ·굴러간당 ·주식한당 ·아이포니앙 ·일본산당 ·MaClien ·안드로메당 ·방탄소년당 ·개발한당 ·자전거당 ·클다방 ·소셜게임한당 ·소시당 ·키보드당 ·나스당 ·이륜차당 ·육아당 ·바다건너당 ·골프당 ·창업한당 ·야구당 ·퐁당퐁당 ·가상화폐당 ·디아블로당 ·달린당 ·AI당 ·땀흘린당 ·사과시계당 ·3D메이킹 ·X세대당 ·ADHD당 ·AI그림당 ·날아간당 ·배드민턴당 ·농구당 ·블랙베리당 ·곰돌이당 ·비어있당 ·FM당구당 ·블록체인당 ·보드게임당 ·활자중독당 ·볼링친당 ·캠핑간당 ·냐옹이당 ·문명하셨당 ·클래시앙 ·콘솔한당 ·요리한당 ·쿠키런당 ·대구당 ·DANGER당 ·뚝딱뚝당 ·개판이당 ·동숲한당 ·날아올랑 ·전기자전거당 ·e북본당 ·갖고다닌당 ·이브한당 ·패셔니앙 ·물고기당 ·도시어부당 ·FM한당 ·맛있겠당 ·포뮬러당 ·젬워한당 ·걸그룹당 ·안경쓴당 ·차턴당 ·총쏜당 ·하스스톤한당 ·히어로즈한당 ·인스타한당 ·IoT당 ·KARA당 ·꼬들한당 ·덕질한당 ·어학당 ·가죽당 ·레고당 ·리눅서당 ·LOLien ·Mabinogien ·임시소모임 ·미드당 ·밀리터리당 ·땅판당 ·헌팅한당 ·오른당 ·영화본당 ·MTG한당 ·소리당 ·노키앙 ·적는당 ·방송한당 ·PC튜닝한당 ·찰칵찍당 ·그림그린당 ·소풍간당 ·심는당 ·패스오브엑자일당 ·라즈베리파이당 ·품앱이당 ·리듬탄당 ·노젓는당 ·Sea마당 ·SimSim하당 ·심야식당 ·윈태블릿당 ·미끄러진당 ·축구당 ·나혼자산당 ·스타한당 ·스팀한당 ·파도탄당 ·테니스친당 ·테스트당 ·빨콩이당 ·공대시계당 ·여행을떠난당 ·터치패드당 ·트윗당 ·VR당 ·시계찬당 ·WebOs당 ·위스키당 ·와인마신당 ·WOW당 ·윈폰이당
임시소모임
고객지원
  • 게시물 삭제 요청
  • 불법촬영물등 신고
  • 쪽지 신고
  • 닉네임 신고
  • 제보 및 기타 제안
© CLIEN.NET
공지[점검] 잠시후 서비스 점검을 위해 약 30분간 접속이 차단됩니다. (금일 18:15 ~ 18:45)

팁과강좌

PC/모바일 구글 포토 일괄 다운한 파일명을 json 정보 이용하여 변경 (파이썬) 10

13
2021-05-31 01:00:53 수정일 : 2021-05-31 22:35:32 115.♡.215.113
0151052

관련 내용

takeout 기능으로 구글포토 사진 전체를 한번에 컴퓨터에 내려 받는 방법

https://www.clien.net/service/board/lecture/15581304?po=0&sk=title&sv=%ED%8F%AC%ED%86%A0&groupCd=&pt=0CLIEN


이 팁이 필요한 이유

받은 구글 포토 사진을 정리해야하는데

보통은 exif 정보가 살아있어 advance renamer, exif renamer 같은 프로그램으로 일괄수정할 수 있습니다.


그런데 어떤 사진들은 json 파일에는 정보가 있으나

exif 정보는 전혀 없는 경우가 있습니다.

아마 후보정이나 공유를 하다 exif 정보가 날아갔지 싶습니다.

a.png

파이썬을 이용하면 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

b.png


실행방법

실행 위치는 어디든 관계 없습니다.

위에 적힌 코드 복붙하여 실행하되

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



0151052 님의 게시글 댓글
  • 주소복사
  • Facebook
  • X(Twitter)
댓글 • [10]
이런저런0
IP 121.♡.231.112
05-31 2021-05-31 01:52:02
·
일반인들에게라면 해당 시스템에서 파이썬을 사용할 수 있도록 설치하는 방법도 같이 추가해 주시면 좋을 것 같습니다.
브로콜리광
IP 49.♡.198.237
05-31 2021-05-31 02:31:18
·
@이런저런0님 이 의견에 반대합니다~
파이썬 설치 방법은 인터넷에 많이 있습니다. 그걸 참조하면 됩니다.
0151052
IP 128.♡.207.85
05-31 2021-05-31 09:23:47
·
@이런저런0님
영상 링크 본문에 추가하였습니다.
삭제 되었습니다.
이런저런0
IP 210.♡.177.227
05-31 2021-05-31 13:11:14
·
@건즈로드님 파이썬이 뭔지 아는 사람이라면 쉽게 사용 가능하지만 비개발자가 이 방법을 사용하려면 파이썬 설치 및 적용에 관한 내용이 같이 있는게 좋지 않을까 해서 적은 글입니다.
브로콜리광
IP 49.♡.198.237
05-31 2021-05-31 02:32:15
·
구글 사진 정리는 영원한 숙제죠. 이걸 응용하면 도움이 많이 될 것 같네요.
SoGentle
IP 221.♡.181.201
05-31 2021-05-31 09:02:21
·
와 감사합니다 ㅎㅎ 파이썬 공부도 했네요.
네오즈
IP 121.♡.68.6
05-31 2021-05-31 09:47:43
·
오, 좋은 방법 공유해주셔서 감사합니다.
홉스친구
IP 114.♡.137.252
05-31 2021-05-31 10:24:18
·
오호 감사합니다.^^
hanshara
IP 220.♡.141.126
05-31 2021-05-31 11:28:39
·
https://exiftool.org/
여기 사이트 보시면 json을 이용하여 exif 데이터 수정하는 방법이 망라되어있습니다.
참고하시면 좋을 것 같아요
클산
IP 58.♡.154.189
05-31 2021-05-31 11:54:28
·
잘 봤습니다. ^^
삭제 되었습니다.
새로운 댓글이 없습니다.
이미지 최대 업로드 용량 15 MB / 업로드 가능 확장자 jpg,gif,png,jpeg,webp
지나치게 큰 이미지의 크기는 조정될 수 있습니다.
목록으로
글쓰기
글쓰기
목록으로 댓글보기 이전글 다음글
아이디  ·  비밀번호 찾기 회원가입
이용규칙 운영알림판 운영소통 재검토요청 도움말 버그신고
개인정보처리방침 이용약관 책임의 한계와 법적고지 청소년 보호정책
©   •  CLIEN.NET
보안 강화를 위한 이메일 인증
안전한 서비스 이용을 위해 이메일 인증을 완료해 주세요. 현재 회원님은 이메일 인증이 완료되지 않은 상태입니다.
최근 급증하는 해킹 및 도용 시도로부터 계정을 보호하기 위해 인증 절차가 강화되었습니다.

  • 이메일 미인증 시 글쓰기, 댓글 작성 등 게시판 활동이 제한됩니다.
  • 이후 새로운 기기에서 로그인할 때마다 반드시 이메일 인증을 거쳐야 합니다.
  • 2단계 인증 사용 회원도 최초 1회는 반드시 인증하여야 합니다.
  • 개인정보에서도 이메일 인증을 할 수 있습니다.
지금 이메일 인증하기
등록된 이메일 주소를 확인하고 인증번호를 입력하여
인증을 완료해 주세요.