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