Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python analog for linux "file" command [duplicate]

Tags:

python

file

linux

I'm looking for file linux command analog made in Python. It should provide information about file type as described in man file. Minimal feature set I'm looking for is to determine if file is raw or text (human-readable) one. Wrapper library will be good suggestion. I know, I can run file as subprocess and grab it's output to determine file type. But my program is supposed to parse thousands of files and I'm afraid of very long execution time in this case.

like image 553
Vladimir Ignatyev Avatar asked Feb 01 '14 14:02

Vladimir Ignatyev


People also ask

What does cp do in Python?

run cp command to make a copy of a file or change a file name in Python.

How do I copy a file in Linux?

You can copy files by right-clicking on the file and selecting "Copy", then going to a different directory and selecting "Paste". For my terminal friends, you can also perform file copy-paste operations without leaving the terminal. In a Linux-based terminal, you do this using the cp command.


1 Answers

you need to check the "magic" byte of the file, and I was about to tell you about:

  • python-magic

when it occured to me that this question should already have been answered on SO, and it has.

N.B.: I'm not listing pymagic as the other post does, as it did not get any update since 0.1 which looks quite old (even the source website is down).

for OSX:

brew install libmagic
pip install python-magic
python
>>> magic.from_file('test.py')
'Python script, ASCII text executable'
like image 114
zmo Avatar answered Sep 18 '22 14:09

zmo