Capturar la salida de la consola de python.

Joan Carles Jimenez jjcarles en terra.es
Vie Mayo 30 12:28:14 CEST 2008


Hola de nuevo.

   Despues de dejar parado este programa (debido al tiempo que me estaba 
llevando) vuelvo a recuperarlo para ver si lo acabo.

   Estoy haciendo un pequeño shell gráfico con QT que ejecute comandos de 
python. La aplicación está dividida en dos textareas donde en una el usuario 
escribe los comandos de python, mediante la instrucción PyRun_SimpleString la 
ejecuto,  y en la otra tendria que mostrar el resultado de la ejecución del 
comando de python (NO el resultado de PyRun_SimpleString). Por ejemplo: si el 
usuario escribe "a = 1", en el textarea de salida no debe aparecer nada. Si a 
continuación el usuario escribe "print a+2", en el textarea de salida tendria 
que aparecer un "3" (tal y como funcionaria directametne en python). El 
problema es que el comando PyRun_SimpleString sólo indica si se ha ejecutado 
correctamente o no. 

   He intentado capturar el resultado (tal y como me dijeron) leyendo el 
STDIN, pero las instrucciones read, fgets (de C) necesitan saber la longitud 
de la cadena a leer y es un dato que no dispongo.

   Tambien he mirado la API C de python, pero no encuentro nada que me 
solucione el problema.

   ¿Alguna orientación/solución que me pueda ayudar?

Gracias por adelantado.

-- 
Joan Carles Jimenez
jjcarles en terra.es
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





Más información sobre la lista de distribución Python-es