Określanie typu mime pliku w Pythonie

Python ma moduł mimetypes, ale jego użyteczność jest ograniczona, gdyż rozpoznaje typy mime po zmapowanych rozszerzeniach i np. "plik.kaffeine" jako text/plain czy text/xml nie rozpozna. Rozwiązania alternatywne o większej funkcjonalności to np. gnome-vfs (może nawet podać preferowane aplikacje dla danego typu mime), lecz jest obecnie oznaczony jako "deprecated" i należy stosować GIO, który w pygoobject ma API, lecz dokumentacja kuleje. Inne rozwiązanie to wykonywanie uniksowego polecenia file, lecz nie podaje to typu mime. Jak się pogrzebie dalej to w pyxdg znajdzie się obsługę Mime zgodną ze standardami freedesktop.org (standardy, które ogólnie wszyscy obsługują (GNOME, KDE, Xfce itd.), lecz dokumentacja do tych standardów nie należy)

import xdg.Mime
print xdg.Mime.get_type('/ścieżka/do/pliku')
Przy okazji, gdyby ktoś chciał wyciągać meta dane binarnych plików, to od tego jest hachoir.

RkBlog

Podstawy Pythona, 26 November 2008

Comment article
Comment article RkBlog main page Search RSS Contact