получить список метаданных, связанных с файлом, используя python в Ubuntu

Я пытаюсь получить список метаданных, связанных с файлом, используя python в Ubuntu.

Без использования python команда «extract» работает очень хорошо, но я не знаю, как использовать ее с python, я всегда получаю сообщение о том, что «extract» не определен.

Я предполагаю, что вы спрашиваете о метаданных, которые появляются в диалоговом окне «Свойства» Windows на вкладке «Сводка». (Если нет, просто проигнорируйте это.) Вот как мне это удалось.

  1. Загрузите и установите расширения Python win32 . Это положит win32, win32com и т. Д. В вашу папку Python [ver] / Lib / site-packages. Они приводят win32api, win32com и т. Д. По какой-то причине я не мог заставить версию Python 2.6 (в сборке 216) работать. Я обновил свою систему до Python 2.7 и использовал сборку 216 для Python 2.7, и она сработала. (Чтобы загрузить и установить, перейдите по ссылке выше, нажмите ссылку, читающую «pywin32», щелкните ссылку для последней сборки (в настоящее время 216), щелкните ссылку для файла .exe, который соответствует вашей системе и установке Python (для меня, это pywin32-216.win32-py2.7.exe ). Запустите файл .exe.)
  2. Скопируйте и вставьте код на странице « Получить итоговую информацию документа » в учебнике Тима Голда в файл .py на вашем собственном компьютере.
  3. Измените код . Вам действительно не нужно настраивать код, но если вы запустите этот сценарий Тима в качестве основного модуля, и если вы не укажете путь как ваш первый sys.argv, вы получите сообщение об ошибке. Чтобы сделать настройку, прокрутите вниз до конца кода и опустите последний блок, который начинается с if __name__ == '__main__':

Сохраните файл как нечто вроде property_reader.py и вызовите его метод property_sets(filepath) . Этот метод возвращает объект-генератор. Вы можете выполнять итерацию через генератор, чтобы увидеть все свойства и их значения. Вы можете реализовать его так:

 # Assuming 'property_reader.py' is the name of the module/file in which you saved Tim Golden's code... import property_reader propgenerator = property_reader.property_sets('[your file path]') for name, properties in propgenerator: print name for k, v in properties.items (): print " ", k, "=>", v 

Вывод вышеуказанного кода будет примерно следующим:

 DocSummaryInformation PIDDSI_CATEGORY => qux SummaryInformation PIDSI_TITLE => foo PIDSI_COMMENTS => flam PIDSI_AUTHOR => baz PIDSI_KEYWORDS => flim PIDSI_SUBJECT => bar 

extract основан на библиотеке libextractor . Вы можете получить доступ к библиотеке из Python, установив пакет python-extractor на Ubuntu.

Если вы используете Windows, ваш вопрос уже был адресован на SO .