Estoy intentando redireccionar el error de un archivo .py al ejecutarlo . Al ingresar la siguiente línea en la terminal <code>python3 com...

Mateo Rios

Mateo Rios

Pregunta
student
hace 4 años

Estoy 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)?

2 respuestas
para escribir tu comentario
    Mateo Rios

    Mateo Rios

    student
    hace 4 años

    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

    Enrique Devars

    teacher
    hace 4 años

    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
Curso de Terminal y Línea de Comandos

Curso de Terminal y Línea de Comandos

Aprende a utilizar la terminal y la línea de comandos para navegar tu sistema operativo, manipular archivos y directorios, comprender permisos y procesos, y usar herramientas como grep y curl. Integra alias y personaliza tu shell para optimizar tu flujo de trabajo.

Curso de Terminal y Línea de Comandos
Curso de Terminal y Línea de Comandos

Curso de Terminal y Línea de Comandos

Aprende a utilizar la terminal y la línea de comandos para navegar tu sistema operativo, manipular archivos y directorios, comprender permisos y procesos, y usar herramientas como grep y curl. Integra alias y personaliza tu shell para optimizar tu flujo de trabajo.