Lou.rn
Lou.rn

Reputation: 105

python - How to get mimetypes from file, read metadata

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

Answers (2)

THAVASI.T
THAVASI.T

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

Frank R. Haugen
Frank R. Haugen

Reputation: 240

(Answered here: How to find the mime type of a file in python?)


The how

Do this:

>>> pip install python-magic
>>> import magic
>>> mime = magic.Magic(mime=True)
>>> mime.from_file("testdata/test.pdf")

The why

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

Related Questions