все Python 3Linux · macOSosфункция
os.ttyname
os — псевдотерминалы (pty)
Возвращает путь к терминалу, связанному с файловым дескриптором. Доступно на Unix.
Синтаксис
os.ttyname(...)
Для дескриптора, не связанного с терминалом, поднимает OSError, поэтому прежде стоит проверить os.isatty. Возвращает конкретное устройство, например '/dev/pts/0', — в отличие от ctermid, который даёт общее '/dev/tty'.
Примеры
import os
print(os.ttyname(0)) # → ? только Unix: имя терминала для stdin, например /dev/pts/2
master, slave = os.openpty() # → ? только Unix: своя пара псевдотерминала
print(os.ttyname(slave)) # → ? только Unix: путь slave-конца, например /dev/pts/3
print(os.ttyname(slave) == os.ptsname(master)) # → ? только Unix: True — ttyname и ptsname указывают на один и тот же slave
print(os.ttyname(1) if os.isatty(1) else 'вывод перенаправлен') # → ? только Unix: имя терминала при запуске в консоли; при перенаправлении в файл ttyname(1) бросил бы OSError
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности