all Python 3osfunction
os.chmod
os — permissions and ownership
Changes a file's access permissions (mode). On Windows only the read-only bit is supported.
Syntax
os.chmod(...)
Write the mode in octal: 0o644, not 644 — decimal 644 means entirely different permissions. On Windows only the read-only flag changes and other bits are ignored. For symbolic permissions use stat constants such as stat.S_IRUSR | stat.S_IWUSR. Permissions are not everything: chmod does not touch ACLs or filesystem attributes.
Examples
import os
path = 'demo_perms.txt'
open(path, 'w').close() # → создаём временный файл для опытов
os.chmod(path, 0o644) # → владелец читает и пишет, остальные только читают
print(oct(os.stat(path).st_mode & 0o777)) # → на Unix 0o644; на Windows 0o666 (биты группы и прочих не поддерживаются)
os.chmod(path, 0o444) # → снимаем право записи: на Windows это единственный работающий эффект — атрибут «только чтение»; вернуть запись можно тем же os.chmod(path, 0o644)
os.chmod('нет-такого-файла', 0o644) # → FileNotFoundError
See also
Common errors
Open in the full glossarydocs.python.orgReport an inaccuracy