
Mateo Rios
PreguntaEstoy intentando redireccionar el error de un archivo .py al ejecutarlo . Al ingresar la siguiente línea en la terminal
python3 completo.py 2> error.txt
Se crea un archivo de texto con el nombre error. Sin embargo, solo muestran los textos desplegados con print y excluye todos los inputs. Además de esto, todos los textos de los inputs se contienen en el archivo error.txt (lo que no debería pasar ya que los textos de los inputs no deberían ser considerados errores) además del error del programa .py.
.
Creo que puede ser que estoy confundiendo el funcionamiento del estándar de input output de Linux y que al estar ejecutando un .py la terminal clasifica todos los print como stdout (1) y los input como stderr (2). De ser así, ¿Alguien podría decirme si estoy en lo cierto? . Y, ¿Qué podría hacer para que al redireccionar solo me devuelva el error del .py en el archivo .txt (sin los inputs)?

Mateo Rios
Si captura el error, el problema es que también esta capturando los inputs del programa (no los muestra en la terminal) y los manda al archivo .txt

Enrique Devars
Hola! ¿Cómo estás ejecutando el error de tu programa en Python? Yo hice el siguiente script de ejemplo y si puedo capturar el error.
# Archivo test.py raise Exception("Un error ha ocurrido") print("Hola mundo")
Para capturar el error solamente:
python test.py 2> output.txt