Я хочу создать что-то вроде облака тегов для различных папок, которые у меня есть, но, к сожалению, я не могу найти способ получить доступ к тегам файла в Windows Vista. Я попытался посмотреть модуль win32 и os.stat, но не могу найти способ. Могу ли я получить некоторую помощь по этому поводу?
Как получить теги файла в списке с помощью Python (Windows Vista)?
Ответы (4)
Я сделал это с помощью пакета расширений win32 вместе с некоторым демонстрационным кодом, который я нашел. Я разместил подробное объяснение процесса на эта тема. Я не хочу воспроизводить все это здесь, но вот краткая версия (щелкните по предыдущей ссылке, чтобы узнать подробности).
- Загрузите и установите расширение pywin32.
- Возьмите код, написанный Тимом Голденом именно для этой задачи. .
- Сохраните код Тима как модуль на своем компьютере.
- Вызовите метод
property_sets
вашего нового модуля (указав необходимый путь к файлу). Метод возвращает объект-генератор, который является итерируемым. См. следующий пример кода и выходных данных.
(Это работает для меня, по крайней мере, в XP.)
E.g.
import your_new_module
propgenerator= your_new_module.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
str
вместо unicode
и обновление оператора try except
- person Adelin; 07.07.2017
Очевидно, вам нужно использовать API поиска Windows поиск System.Keywords — вы может получить доступ к API напрямую через ctypes
или косвенно (требуется расширения win32) через COM Interop. Извините, у меня нет установки Vista, чтобы проверить, но я надеюсь, что эти ссылки будут полезны!
Похоже, что Windows сохраняет теги в файлах. Просто отметьте любое изображение и откройте изображение в блокноте и найдите что-нибудь XML. -like(RDF), и вы найдете там свой тег. Что ж... теперь мы знаем, что они действительно хранятся в файлах, но до сих пор не знаем, как ими манипулировать.
Но гугл в помощь. Я погуглил: API метаданных Windows
и нашел это: http://blogs.msdn.com/pix/archive/2006/12/06/photo-metadata-apis.aspx
На самом деле существует 2 разных внедрения свойств документа (источник ).
Реализация COM встраивает их непосредственно в сам файл: этот подход используется, например, для документов Office. Код Тима Голдена, описанный на этой странице, хорошо подходит для них.
В NTFS 5 (Win2k или более поздней версии) вы можете добавить сводную информацию в любой файл, и она будет храниться в альтернативных потоках данных. Я предполагаю, что API поиска Windows будет работать на них, но я не проверял его.