내 사진 편집기가 내 사진의 태그를 망쳤습니다. 파이썬에 익숙해지고 태그를 지우는 스크립트를 작성하기 시작했습니다. pyexiv2가 매우 유용 할 수도 있다는 사실을 알았고 기본적으로 튜토리얼 (http://tilloy.net/dev/pyexiv2/tutorial.html)을 따르려고했습니다. 내가 뭘하려고 오전수정 된 제목 데이터를 XMP 파일에 쓰지 못함 (pyexiv2 사용)
: (: 내가 직접 사진 파일로 작성하는 대신 메타 데이터 사이드카 파일을 사용 NB)가
- 은 XMP 파일에서 원본 데이터를 구문 분석합니다.
- 는 Xmp.dc.subject에서 원래 태그가 읽기 (및 디버깅을 위해 표준 출력하도록 인쇄)
- 변경에 새 값으로 태그를 (인쇄에게 새로운 가치를 디버깅)
- 새로운 쓰기 데이터를 XMP 파일로 다시 보냅니다.
편집기에서 XMP 파일을 확인하기 전까지는 상황이 아주 좋았습니다. 변경된 값은 표시되지 않습니다. 그러나 XMP 파일에 새로운 타임 스탬프가 생기고 XMP 파일을 읽기 전용으로 만들면 오류 메시지가 나타납니다. 그래서 무언가가 파일로 쓰여지는 것 같습니다. 올바른 데이터가 아닙니다.
<Xmp.dc.subject [bag Text] = ['OldTag']>
<Xmp.dc.subject [bag Text] = ['NewTag']>
Script terminated.
그러나 XMP 파일의 관련 섹션은 여전히 다음과 같습니다 :
import pyexiv2
key= 'Xmp.dc.subject'
metadata = pyexiv2.ImageMetadata('test.xmp')
metadata.read()
print metadata[key]
metadata[key] = ['NewTag']
print metadata[key]
metadata.write()
출력은 다음과 같습니다
<dc:subject>
<rdf:Bag>
<rdf:li>OldTag</rdf:li>
</rdf:Bag>
</dc:subject>
다음
내 문제를 보여줍니다 최소한의 스크립트입니다
변경된 메타 데이터를 XMP 파일에 쓰려면 어떻게해야합니까?
나는 프로그래밍에 익숙하지 않은 파이썬 초보자이므로이 문제는 내가 알지 못하는 사소한 것으로부터 생길 수있다. 데비안 리눅스에서 파이썬 2.7.6을 사용하고 있습니다.
이 답변이 맞습니다. exiv2 (AFAIK가 pyexiv2에서 사용됨)의 문서를 확인하고 XMP 파일에 쓰기가 "지원됨"으로 표시되었지만 여전히 명령 셸에서 exiv2로 직접 사이드카 파일에 XMP 데이터를 쓸 수 없습니다. JPEG 파일에 (동일한 xMP) 데이터를 쓰면 문제가 없습니다. –