Biblioteka Python Magic zapewnia potrzebną funkcjonalność.
Możesz zainstalować bibliotekę pip install python-magic
i używać jej w następujący sposób:
>>> import magic
>>> magic.from_file('iceland.jpg')
'JPEG image data, JFIF standard 1.01'
>>> magic.from_file('iceland.jpg', mime=True)
'image/jpeg'
>>> magic.from_file('greenland.png')
'PNG image data, 600 x 1000, 8-bit colormap, non-interlaced'
>>> magic.from_file('greenland.png', mime=True)
'image/png'
Kod Pythona w tym przypadku wywołuje libmagic pod maską, która jest tą samą biblioteką, której używa file
polecenie * NIX . Tak więc robi to to samo, co odpowiedzi oparte na podprocesie / powłoce, ale bez tego narzutu.