RkBlog

Hardware, programming and astronomy tutorials and reviews.

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, Piotr Maliński

Comment article