Jak wykryć, czy sys.stdout jest podłączony do terminala, czy nie? [duplikować

To pytanie ma już odpowiedź tutaj:

Jak rozpoznać, czy skrypt działa na tty? 1 odpowiedź

Czy istnieje sposób na wykrycie, czysys.stdout jest podłączony do terminala konsoli, czy nie? Na przykład chcę być w stanie wykryć, czy plik foo.py jest uruchamiany za pośrednictwem:

$ python foo.py  # user types this on console

LU

$ python foo.py > output.txt # redirection
$ python foo.py | grep ....  # pipe

Powodem, dla którego zadaję to pytanie, jest to, że chcę mieć pewność, że wyświetlanie paska postępu nastąpi tylko w pierwszym przypadku (prawdziwa konsola

questionAnswers(1)

yourAnswerToTheQuestion