Вызов exiftool из Python - основы

Я хотел бы вызвать exiftool в Windows 7 из сценария python для извлечения и добавления информации в теги изображений, но я спотыкаюсь о базовом рабочем процессе, чтобы сделать это. Этот вопрос и ответ относятся к этой теме, но у меня есть несколько основных вопросов. относительно этого, и я не могу комментировать исходный вопрос:

  1. Где в моей системе должен храниться исполняемый файл?
  2. Что делает бит * filenames?
  3. Могу ли я просто указать список файлов вместо * имен файлов в бите 'with ExifTool ()', или я должен просто оставить его как есть и убедиться, что мой каталог с моими изображениями является моим cwd?

Любая помощь приветствуется!


person Crazy Otto    schedule 04.12.2014    source источник


Ответы (1)


  1. Исполняемый файл может храниться в любом месте вашей системы - просто не забудьте передать путь конструктору ExifTool при его создании:

    с ExifTool ('') как e: metadata = e.get_metadata (* имена файлов)

  2. *filenames - это синтаксис для «раскрытия» списка (в этом примере). Вместо того, чтобы передавать один список с именами файлов вызову self.execute, мы передаем все имена файлов как часть * args.

  3. Вы можете указать список имен файлов, если хотите - filenames просто должен быть списком путей для обработки exiftool.

person vikramls    schedule 04.12.2014
comment
Спасибо за разъяснения ... хотя скрипт вроде зависает. Однако, когда я использую пример, опубликованный здесь с соответствующим классом, он работает. - person Crazy Otto; 05.12.2014
comment
Еще одна вещь: похоже, что этот класс может только извлекать метаданные, но не редактировать их - у кого-нибудь есть опыт расширения его для редактирования? - person Crazy Otto; 05.12.2014