Reputation: 105
Why do some files not have mimetypes?
guess_type
returns a tuple with information about the file type
like 'image/jpeg'
, 'application/xml'
, 'text/plain'
, ....
Why do other files return no information 'None'
even though the file exits and is not empty?
>> import mimetypes
>> mimetypes.guess_type('myfile.xx')
Upvotes: 4
Views: 11000
Reputation: 181
You can install the package with pip install filemime and use it as follows. all type of files find file type and mime type filemime
from filemime import filemime
fileObj = filemime()
val = fileObj.load_file("Kodi_Kodi.mp3")
print(f"file: {val}")
mime = fileObj.load_file("Kodi_Kodi.mp3",mimeType=True)
print(f"mime-type: {mime}")
output:
file: 'Audio file with ID3 version 2.3.0, contains:MPEG ADTS, layer III, v1, 160 kbps, 44.1 kHz, Stereo'
mime-type: 'audio/mpeg'
Upvotes: 2
Reputation: 240
(Answered here: How to find the mime type of a file in python?)
Do this:
>>> pip install python-magic
>>> import magic
>>> mime = magic.Magic(mime=True)
>>> mime.from_file("testdata/test.pdf")
The "mimetypes" library isn't very good, (it's unreliable). The "none" is that the specified file isn't recognized as a known filetype, (an extension don't a fileype make).
Hope this solves your issue and answers your question
Upvotes: 5