2015-11-21 2 views
1

Я ищу библиотеку python, которая обеспечивает то, что возвращает точно такой же тип mime для данного файла, что и команда bash xdg-mime query filetype <filename>. Цель состоит в том, чтобы использовать эту функцию, чтобы найти все файлы в diretory с определенным типом пантомимы (application/mbox)Python эквивалентен xdg-mime запросу filetype

Я знаю о xdg библиотеки, но ни одна из его функций не возвращает то же значение, что и команда xdg-mime.

+0

Да, и я использовал это обходное решение раньше. Ваше решение не эквивалентно python для xdg-mime, а просто запускает команду bash изнутри python. – konstin

ответ

0

Вы можете поставить свое собственное отображение на модуль питона Mimetypes - так можно назвать XDG-мим на все расширениях, вам нужно, а затем создать файл, который вы кормите в Mimetypes так:

import mimetypes 
mimetypes.init() 
extra={".123": "application/vnd.lotus-1-2-3"} 
[mimetypes.add_type(value, key) for key, value in extra.items()] 

# testing 

mimetypes.guess_type("x.123") 

дает «application/vnd.lotus-1-2-3»

+0

'xdg-mime' не полагается на расширения файлов, поэтому это не сработает. В моем случае файлы даже не имеют расширения. – konstin

+0

Существует также привязка к python для libmagic - я думаю, это самый простой вариант при обходе расширения файла. https://github.com/ahupp/python-magic – user2692263

+0

libmagic только говорит 'ASCII текст, с CRLF, LF line terminators' – konstin