identifying the format of files

224 views Asked by At

In linux, we have a utility called “file”, which helps us to determine the identification of a file. Is there any python module that can do the same job?

I don't prefer to use subprocess.Popen(['file', 'blah.blah']), because it is platform dependent. For instance, windows do not have “file” (although it can be downloaded).

3

There are 3 answers

2
Ken Kinder On BEST ANSWER

Ignacio mentioned the Magic library, but you could also do it with the standard library if you're confident that the filename is enough to know the file type from (by extension):

>>> import mimetypes
>>> mimetypes.guess_type('__init__.py')
('text/x-python', None)

See the Mimetypes module in the standard library. This however isn't a replacement for actually inspecting the content of the file and figuring out its type.

0
Ignacio Vazquez-Abrams On

magic

Don't forget the DLL.

0
refaim On

There are standard modules imghdr and sndhdr for graphic and sound files, respectively.