Например, учитывая:
$ cd /Applications/Xcode.app/Contents/MacOS
$ file Xcode
Xcode: Mach-O 64-bit executable x86_64
и
$ cd /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A
$ file IDEKit
IDEKit: Mach-O 64-bit dynamically linked shared library x86_64
Я хочу иметь возможность делать то, что делает file
, в частности, чтобы проверить, является ли файл исполняемым или нет, но программно из Python.
Я знаю, что я мог бы вызвать команду file
и проанализировать результат из Python, но есть ли лучший способ, который не требует вызова file
?
Обратите внимание, что:
$ ls -l IDEKit
-rwxr-xr-x 1 root wheel 17256912 Apr 5 17:42 IDEKit*
и
$ ls -l Xcode
-rwxr-xr-x 1 root wheel 44416 Apr 11 13:40 Xcode*
Т.е. они оба являются "исполняемыми" для битов разрешений файловой системы, но только Xcode
является истинным исполняемым файлом.