[Olpc-uruguay] Consulta lamzamiento de Subproceso
Flavio Danesse
fdanesse en gmail.com
Mar Mar 20 16:08:09 EDT 2012
Hola Alvaro.
En realidad no pasaste el ejemplo que ejecutas, pero bueno, mira,
subprocess funciona bien en la xo:
Descargate : http://activities.sugarlabs.org/es-ES/sugar/addon/4355
Busca el archivo Mplayer_Reproductor, está hecho en base a subprocess.
En es código lo que hice fue establecer stdin y stdout para el proceso, de
modo que corro mplayer dentro del subproceso, capturando sus devoluciones
en stdout e interactuando con mplayer a través de stdin, es un ejemplo bien
completito y algo complejo, pero una llamada sencilla a subprocess sería:
subprocess.call(args, *, stdin=None, stdout=None, stderr=None, shell=False)
Y para matar el proceso:
subprocess.kill()
Acá tienes la info del API:
http://docs.python.org/library/subprocess.html?highlight=subprocess#subprocess
Cualquier duda me dices.
El 20 de marzo de 2012 15:27, Alvaro Arias <aarias1978 en gmail.com> escribió:
> Buenas tardes.
>
>
> Quiero hacerles llegar una duda que estoy teniendo, acontinuación les
> copio el código de un método que tengo desarrollado, es método es lanzado
> luego de hacer click en un boton de la interface gráfica lo que proboca
> lanzar la ejecución de otro componente del sistema que estoy desarrollando,
> esta lanzamiento lo realizo utilizando el comando subprocesess.Popen. La
> duda que me genera si este comando es soportado por las ceibalitas, esta
> incógnita me surge pues testeando desde el PC donde tengo el entorno de
> desarrollo el accionar es el correcto, pero cuando genero la activity y la
> ejecuto desde la ceibalita no tengo resultados prositivos, tampoco obtengo
> mensaje de error solamente queda sin actividad el botón.
>
>
> def botonIniciar(self, widget):
> # Descripción: Ejecuta el subproceso Motor
>
> if self.fondoElegido == True and self.personajeElegido == True and
> self.tipoDeFinal == True:
>
> if self.esAceptableElTipoDeFinal() == True:
>
> self.escrituraXml.modificarNodosXY(self.documentoXML,
> self.dragAndDrop.arrayBotonesImgLienzo, self.numNivel)
> self.escrituraXml.guardarXml(self.documentoXML, "Xml")
>
> ruta = os.path.join (self.config.SUBIR_UN_NIVEL,
> self.config.SUBIR_UN_NIVEL,
> self.config.DIR_MOTOR, "main.py")
>
> rutaAbsoluta = Utils.obtenerRuta(Utils, ruta)
>
> numNivel = str (self.numNivel)
>
> * subprocess.Popen([sys.executable, rutaAbsoluta,
> numNivel])*
> # Popen se encarga de ejecutar comandos externos, en este
> caso un
> # ejecutable (el juego creado)
> else:
> faltaElegir = self.controlDeArmadoDelJuego()
> MsjError(self, "No es posible probar el juego ya que falta
> elegir: \n" + faltaElegir)
>
> Espero puedan guiarme, muchas gracias.
> saludos
>
> --
> *Alvaro
> *
>
> _______________________________________________
> Olpc-uruguay mailing list
> Olpc-uruguay en lists.laptop.org
> http://lists.laptop.org/listinfo/olpc-uruguay
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.laptop.org/pipermail/olpc-uruguay/attachments/20120320/43f18be4/attachment.html>
More information about the Olpc-uruguay
mailing list