Instanciar un programa dentro de otro.

Instanciar un programa dentro de otro.

Notapor diego_g_09 » Sab Feb 11, 2012 3:38 pm

Buenas tengo el siguiente problema.. tengo una aplicación creada en pygtk, esta es un editor de juegos la que llama al motor del juego que esta creado con pygame, son dos aplicaciones separadas que funcionan independientemente, pero en este caso quiero que el editor pueda llamar al motor, o sea llamar a otra aplicación independiente, se que se puede en java, c++, pero no se como hacerlo en python. Ya que cuando importo la clase del motor y llamo al juego como cuando creas una clase, pasa que cuando cierro la ventana del juego se me cierra todo, o sea el juego y el editor (ya que estan corriendo en un mismo programa o hilo). Lo que quiero hacer en python es llamar a un programa nuevo desde otro, o sea como llamar a un main desde otro main, y que corran por caminos distintos, o sea si cierro uno al otro no le pase nada. En este caso es un programa que utiliza pygtk y el otro utiliza pygame, y ambos hechos en python.

gracias!!
diego_g_09
 
Mensajes: 21
Registrado: Sab Ago 07, 2010 11:58 pm

Re: Instanciar un programa dentro de otro.

Notapor hugoruscitti » Sab Feb 11, 2012 6:20 pm

Hola diego!, hay varias formas de 'instanciar' un programa desde otro y que sean independientes.

Yo te voy a comentar una forma, aunque no es la única.

Existe un módulo llamado "subprocess", que te permite ejecutar otros programas desde python, ya
sea que los otros programas sean python o no.

Por ejemplo, imaginá que tengo un script llamado 'mi_juego.py' y lo quiero ejecutar desde
mi programa. Podría escribir algo así:

import subprocess

programa = subprocess.Popen([sys.executable, 'mi_juego.py'])

# resto del programa...


Popen se encarga de ejecutar comando externos, y si no especificamos mas argumentos
van a correr en paralelo.

Avisanos si esta forma de ejecutar procesos te funciona, sino tenemos otras...
Saludos!
Avatar de Usuario
hugoruscitti
Site Admin
 
Mensajes: 1242
Registrado: Dom Jul 30, 2006 3:57 am
Ubicación: Buenos Aires, Argentina

Re: Instanciar un programa dentro de otro.

Notapor diego_g_09 » Sab Feb 11, 2012 7:27 pm

Como siempre hugoruscitti de gran ayuda!!, muchas gracias era justo lo que precisaba!!

Gracias!!
diego_g_09
 
Mensajes: 21
Registrado: Sab Ago 07, 2010 11:58 pm


Volver a Videojuegos

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado