Python Glossary English

все 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Сообщить о неточности