Python Glossary English

все Python 3Linux · macOSosфункция

os.ctermid

os — псевдотерминалы (pty)

Возвращает путь к управляющему терминалу процесса. Доступно на Unix.

Синтаксис

os.ctermid(...)

Обычно возвращает просто '/dev/tty' — универсальное имя управляющего терминала, а не путь к конкретному устройству вроде /dev/pts/3. Конкретное имя даёт os.ttyname для дескриптора терминала. Открыть '/dev/tty' можно, даже если стандартные потоки перенаправлены, — так программы спрашивают пароль.

Примеры

import os
print(os.ctermid())   # → ? только Unix: /dev/tty — путь к управляющему терминалу
path = os.ctermid()   # только Unix
print(os.path.exists(path))   # → True, если у процесса есть управляющий терминал
with open(path, 'w') as tty: tty.write('сообщение мимо перенаправленного stdout\n')   # → ? только Unix: строка появится в терминале, даже если stdout перенаправлен в файл
fd = os.open(path, os.O_RDONLY)   # → ? только Unix: OSError (ENXIO), если процесс запущен без терминала — демон, cron, systemd
print(os.isatty(fd))   # → True — дескриптор действительно указывает на терминал

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности