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.