Wie erkenne ich, ob sys.stdout an das Terminal angeschlossen ist oder nicht? [Duplikat

Diese Frage hat hier bereits eine Antwort:

Wie erkenne ich, ob ein Skript auf einem tty ausgeführt wird? 1 Antwort

Gibt es eine Möglichkeit zu erkennen, obsys.stdout ist an ein Konsolenterminal angeschlossen oder nicht? Zum Beispiel möchte ich in der Lage sein zu erkennen, ob foo.py ausgeführt wird über:

$ python foo.py  # user types this on console

ODE

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

Der Grund, warum ich diese Frage stelle, ist, dass ich sicherstellen möchte, dass meine Fortschrittsanzeige nur im vorherigen Fall (echte Konsole) erfolgt.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage