Python Glossary Русский

Python 3.13+Linux · macOSosfunction

os.grantpt

os — pseudo-terminals (pty)

Grant access to the slave pseudo-terminal (by master fd). Availability: Unix.

Syntax

os.grantpt(...)

It sets the owner and permissions of the pseudo-terminal slave so the current user can open it. It is called after posix_openpt and before unlockpt. On modern systems with devpts it often changes nothing, but portable code always calls it.

Examples

import os
master = os.posix_openpt(os.O_RDWR)   # только Unix: открываем master-устройство псевдотерминала
print(os.grantpt(master))   # → None — владелец и права slave-устройства выставлены текущему пользователю (только Unix, Python 3.13+)
os.unlockpt(master)   # только Unix: порядок обязателен — сначала grantpt, потом unlockpt
print(os.ptsname(master))   # → ? только Unix: путь к slave, например /dev/pts/3
slave = os.open(os.ptsname(master), os.O_RDWR)   # только Unix: после grantpt + unlockpt slave открывается; без grantpt упёрлись бы в права доступа
print(os.grantpt(slave))   # → OSError — дескриптор должен указывать на master, а не на slave

See also

Open in the full glossarydocs.python.orgReport an inaccuracy