Il modulo mimetipi di Python non è particolarmente accurato e basa i risultati sull'estensione del file. L'unico modo che posso pensare di ottenere un risultato più preciso è quello di chiamare il file
comando Unix con subprocess.Popen
come così:Rilevamento di tipo mime migliore e più accurato in Python
import subprocess
mimetype = subprocess.Popen(['file', '/path/to/file', '--mime-type', '-b'],
stdout=subprocess.PIPE).stdout.read().strip()
Questo si sente poco elegante. C'è un modo migliore per fare questo senza dovendo chiamare file
ma ottenendo comunque lo stesso livello di accuratezza?
Questo utilizza lo stesso codice di identificazione MIME come 'file'. –
Vero - ma è più elegante, che è quello che ha chiesto. :) – Mads