¿Cómo detecto si sys.stdout está conectado al terminal o no? [duplicar
Esta pregunta ya tiene una respuesta aquí:
¿Cómo reconocer si un script se está ejecutando en un tty? 1 respuesta ¿Hay alguna manera de detectar sisys.stdout
está conectado a un terminal de consola o no? Por ejemplo, quiero poder detectar si foo.py se ejecuta a través de:
$ python foo.py # user types this on console
$ python foo.py > output.txt # redirection
$ python foo.py | grep .... # pipe
La razón por la que hago esta pregunta es porque quiero asegurarme de que la visualización de mi barra de progreso solo ocurra en el caso anterior (consola real).