все Python 3osфункция
os.access
os — файловая система
Проверяет права доступа к пути (R_OK/W_OK/X_OK/F_OK) для реального uid/gid.
Синтаксис
os.access(path, mode)
Проверяет права реального, а не эффективного пользователя, — она задумана для программ с setuid. Проверка заранее создаёт гонку: между access и open файл могут подменить, и документация прямо советует вместо этого открыть файл и обработать ошибку. Для root ответ почти всегда «можно», даже если файл защищён от записи.
Примеры
import os
print(os.access(os.__file__, os.R_OK)) # → True
print(os.access('нет-такого-файла.txt', os.F_OK)) # → False — F_OK это просто проверка существования
print(os.access(os.__file__, os.W_OK)) # → зависит от прав установки: True, если файл стандартной библиотеки доступен на запись
lib_dir = os.path.dirname(os.__file__)
print(os.access(lib_dir, os.R_OK | os.X_OK)) # → True — каталог можно читать и входить в него, режимы объединяются через |
print(os.access('нет-такого-файла.txt', os.R_OK)) # → False — access не бросает исключение, в отличие от os.stat
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности