Pergunta

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).

Foi útil?

Solução

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.

Outras dicas

magic

Don't forget the DLL.

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top