Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can i get a file extension from a filetype?

Tags:

python

file

I have a list of filenames as follows

files = [
    '/dl/files/4j55eeer_wq3wxxpiqm.jpg',
    '/home/Desktop/hjsd03wnsbdr9rk3k',
    'kd0dje7cmidj0xks03nd8nd8a3',
    ...
]

The problem is most of the files do not have an extension in the filenames, what would be the best way to get file extension of these files ?

I don't know if this is even possible because python would treat all files as buffer or string objects that do not have any filetype associated with them.

can this be done at all ?

like image 923
Amyth Avatar asked Jun 01 '13 11:06

Amyth


2 Answers

Once you use magic to get the MIME type, you can use mimetypes.guess_extension() to get the extension for it.

like image 50
Ignacio Vazquez-Abrams Avatar answered Oct 12 '22 23:10

Ignacio Vazquez-Abrams


It can be done if you have an oracle that determines file types from their content. Happily at least one such oracle is already implemented in Python: https://github.com/ahupp/python-magic

like image 34
John Zwinck Avatar answered Oct 12 '22 23:10

John Zwinck