Python 3.3+statфункция
stat.filemode()
биты режима
Превращает st_mode в строку как у ls -l: '-rw-r--r--', 'drwxr-xr-x'. Первый знак — тип файла.
Синтаксис
stat.filemode(mode)
Передавать нужно полный st_mode: без битов типа, например filemode(0o755), первым знаком будет '?'. Права в строке берутся как есть, так что на Windows вы увидите -rw-rw-rw- или -r--r--r-- независимо от chmod. Для сравнения прав в коде строка неудобна — используйте S_IMODE и восьмеричные числа.
Примеры
import os, stat
open('script.py', 'w').close()
os.chmod('script.py', 0o644)
print(stat.filemode(os.stat('script.py').st_mode)) # → -rw-r--r-- (на Windows -rw-rw-rw-)
os.mkdir('pkg')
print(stat.filemode(os.stat('pkg').st_mode)[0]) # → d
import stat
print(stat.filemode(0o755)) # → ?rwxr-xr-x — тип файла не передан
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности