Python 3.13+Linux · macOSosфункция
os.grantpt
os — псевдотерминалы (pty)
Изменяет владельца и права slave-устройства псевдотерминала (по master-дескриптору). Доступно на Unix.
Синтаксис
os.grantpt(...)
Настраивает владельца и права ведомого устройства псевдотерминала так, чтобы его мог открыть текущий пользователь. Вызывается после posix_openpt и до unlockpt. На современных системах с devpts часто ничего не меняет, но переносимый код вызывает её всегда.
Примеры
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
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности