получить список метаданных, связанных с файлом, используя python в Ubuntu - PullRequest
1 голос
/ 03 января 2011

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

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

Ответы [ 3 ]

4 голосов
/ 01 мая 2011

Я предполагаю, что вы спрашиваете о метаданных, которые появляются в диалоговом окне "Свойства" 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
1 голос
/ 03 января 2011

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

0 голосов
/ 03 января 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...