Подтвердить что ты не робот

Как узнать, работает ли script на tty?

Я хотел бы, чтобы мой script действовал по-разному в интерактивном сеансе оболочки и при запуске с перенаправленным stdout (например, когда был передан в другую команду).

Как узнать, какая из этих двух происходит в Python script?

Пример такого поведения в существующей программе: grep --color = auto выделяет совпадения при запуске в интерактивной оболочке, но не при передаче на что-то еще.

4b9b3361

Ответ 1

import os, sys
os.isatty(sys.stdout.fileno())

или

sys.stdout.isatty()