Ответ 1
import os, sys
os.isatty(sys.stdout.fileno())
или
sys.stdout.isatty()
Я хотел бы, чтобы мой script действовал по-разному в интерактивном сеансе оболочки и при запуске с перенаправленным stdout (например, когда был передан в другую команду).
Как узнать, какая из этих двух происходит в Python script?
Пример такого поведения в существующей программе: grep --color = auto выделяет совпадения при запуске в интерактивной оболочке, но не при передаче на что-то еще.
import os, sys
os.isatty(sys.stdout.fileno())
или
sys.stdout.isatty()