ImportError: cannot import name 'Self' from 'typing_extensions'

 

위와 같은 에러가 발생할 경우 다음 명령어를 사용하시면 해결됩니다.

 

pip install typing-extensions --upgrade

 

( 참조한 곳: https://github.com/python-openxml/python-docx/issues/1337 )

[EXIF Tag] 구글 포토에서 인식 가능하도록 날짜 정보 갱신하기

 

사진 및 동영상 파일의 EXIF 태그에는 여러 항목이 있는데, 구글 포토는 이 중 DateTimeOriginal 태그를 인식하여 사진이 찍힌 날짜를 추정합니다. 그래서 해당 태그가 아닌 다른 태그에 날짜가 저장된 파일의 경우 구글 포토에서 엉뚱한 날짜를 인식하는 경우가 종종 있습니다. 이를 방지하기 위해서는 exiftool 이라는 프로그램을 사용하여 다음과 같이 처리하면 됩니다. Exiftool은 https://exiftool.org/ 에서 다운받으실 수 있습니다.

 

아래 명령어를 순서대로 입력하면 됩니다. 명령어의 의미는 다음과 같습니다. 명령어 뒤의 /path/to/photos/ 는 사진이 있는 디렉토리의 경로입니다.

(1) DateTimeOriginal 태그가 없으면 FileModifyDate의 값을 DateTimeOriginal에 저장합니다.
(2) (1)의 내용을 K3G 파일에도 적용합니다.
(3) PNG 파일의 경우, DateTimeOriginal 태그가 있으면 그 값을 FileModifyDate에 저장합니다. 이 때 PNG 파일은 조금 특별해서, EXIF:DateTimeOriginal의 값을 가져와야 합니다.

(4)(5)(6) GIF, MP4, MOV 파일에 대해서, DateTimeOriginal 태그가 있으면 그 값을 FileModifyDate에 저장합니다.

 

exiftool -if 'not $DateTimeOriginal' -overwrite_original_in_place '-DateTimeOriginal<FileModifyDate' -r /path/to/photos/

exiftool -if 'not $DateTimeOriginal' -overwrite_original_in_place '-DateTimeOriginal<FileModifyDate' -r -ext k3g /path/to/photos/ 

exiftool -if '$DateTimeOriginal' -overwrite_original_in_place '-FileModifyDate<EXIF:DateTimeOriginal' -r -ext png /path/to/photos/ 

exiftool -if '$DateTimeOriginal' -overwrite_original_in_place '-FileModifyDate<DateTimeOriginal' -r -ext gif /path/to/photos/ 

exiftool -if '$DateTimeOriginal' -overwrite_original_in_place '-FileModifyDate<DateTimeOriginal' -r -ext mp4 /path/to/photos/ 

exiftool -if '$DateTimeOriginal' -overwrite_original_in_place '-FileModifyDate<DateTimeOriginal' -r -ext mov /path/to/photos/ 

 

 

한편 예전 핸드폰인 Cyon과 Optimus, 그리고 VK의 경우 추가로 해 주어야 하는 작업들이 있습니다. 먼저 Cyon과 Optimus의 경우 동영상 파일을 Cyon은 MP4, Optimus는 3GP로 저장하는데, 이 경우 MediaCreateDate 태그가 존재하기 때문에 그 값을 DateTimeOriginal과 FileModifyDate 으로 복사해오면 됩니다.

 

exiftool -if '$MediaCreateDate' -overwrite_original_in_place '-DateTimeOriginal<MediaCreateDate' -r -ext mp4 /path/to/photos/ 

exiftool -if '$MediaCreateDate' -overwrite_original_in_place '-FileModifyDate<MediaCreateDate' -r -ext mp4 /path/to/photos/ 

exiftool -if '$MediaCreateDate' -overwrite_original_in_place '-DateTimeOriginal<MediaCreateDate' -r -ext 3gp /path/to/photos/ 

exiftool -if '$MediaCreateDate' -overwrite_original_in_place '-FileModifyDate<MediaCreateDate' -r -ext 3gp /path/to/photos/ 



그리고 VK 핸드폰의 경우 FileModifyDate 태그조차 사진을 찍은 날짜가 아니라 파일을 컴퓨터에 저장한 날짜로 되어있기 때문에 다음과 같이 파일명에서 날짜를 추출해야 합니다.

 

rename s/P-/20/g ./*.*

exiftool -if 'not $DateTimeOriginal' -overwrite_original_in_place '-DateTimeOriginal<Filename' -r /path/to/photos/

exiftool -if '$DateTimeOriginal' -overwrite_original_in_place '-FileModifyDate<DateTimeOriginal' -r /path/to/photos/ 

 

 

[맥] 예기치 않은 오류가 발생했기 때문에 작업을 완료할 수 없습니다(오류 코드 -50).

 

[맥] 예기치 않은 오류가 발생했기 때문에 작업을 완료할 수 없습니다(오류 코드 -50).

 

이 오류는 파일 복사나 이동 중 파일명 혹은 파일 전체 경로가 너무 길어서 발생하는 오류입니다.

 

예를 들어 [ /Users/MyName/Desktop/안녕하세요_이_파일_이름이_너무_길어서_복사가_잘_안_될것_같지만_그래도_복사를_해_보려_하는데_과연_잘_될지_모르겠네요_복사가_잘_되도록_응원해주시면_정말로_감사하겠습니다.txt ] 같이 이름이 너무 긴 파일을 복사할 때 해당 오류가 발생할 수 있습니다.

 

파일명을 짧게 바꿔주시면 해결됩니다.

+ Recent posts