Как получить доступ к свойствам файла в Windows Vista с помощью Python?

Вопрос так же прост, как и в названии, как мне получить доступ к свойствам файлов Windows, например, с учетом даты и, более конкретно, к тегам с помощью Python? Для программы, которую я делаю, мне нужно получить списки всех тегов в разных файлах в определенной папке, и я не уверен, как это сделать. У меня есть модуль win32, но я не вижу, что мне нужно.

Спасибо, ребята, за быстрые ответы, однако, главный stat, который мне нужен из файлов, – это атрибут тегов, который теперь включен в Windows Vista, и, к сожалению, он не включен в модули os.stat и stat. Спасибо, хотя, как мне и нужны эти данные, но это было больше после размышлений с моей стороны.

4 Solutions collect form web for “Как получить доступ к свойствам файла в Windows Vista с помощью Python?”

Вы можете использовать os.stat со stat

import os import stat import time def get_info(file_name): time_format = "%m/%d/%Y %I:%M:%S %p" file_stats = os.stat(file_name) modification_time = time.strftime(time_format,time.localtime(file_stats[stat.ST_MTIME])) access_time = time.strftime(time_format,time.localtime(file_stats[stat.ST_ATIME])) return modification_time, access_time 

Вы можете получить много других статистических данных, проверьте модуль stat для полного списка. Чтобы извлечь информацию для всех файлов в папке, используйте os.walk

 import os for root, dirs, files in os.walk(/path/to/your/folder): for name in files: print get_info(os.path.join(root, name)) 

По-видимому, вам нужно использовать API поиска Windows, который ищет System.Keywords – вы можете получить доступ к API напрямую через ctypes или косвенно (требуя расширения win32 ) через сборку COM Interop API. Извините, у меня нет установки vista для проверки, но я надеюсь, что эти ссылки полезны!

Пример:

 import time, datetime fstat = os.stat(FILENAME) st_mtime = fstat.st_mtime # Date modified a,b,c,d,e,f,g,h,i = time.localtime(st_mtime) print datetime.datetime(a,b,c,d,e,f,g) 

(Возможно, вы заметили более длинную версию следующего ответа, предоставленного по другому из ваших потоков.)

  1. Загрузите и установите расширение pywin32 .
  2. Возьмите код, который Тим Голден написал для этой самой задачи.
  3. Сохраните код Тима как модуль на вашем собственном компьютере.
  4. Вызвать метод property_sets вашего нового модуля (предоставление необходимого пути к файлу). Метод возвращает генератор, который является итерируемым. См. Следующий примерный код и вывод.
 
Interesting Posts for Van-Lav
Python - лучший язык программирования в мире.