Python Glossary English

все 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Сообщить о неточности