Foros del Web » Programando para Internet » Python »

Problemas con llamada a un subproceso

Estas en el tema de Problemas con llamada a un subproceso en el foro de Python en Foros del Web. Buenas tardes necesito ayuda para ejecutar un subproceso en Python ya que me da error al ejecutar. Trabajo con Python 2.7, tengo un proceso llamador.py ...
  #1 (permalink)  
Antiguo 17/08/2012, 08:45
 
Fecha de Ingreso: diciembre-2010
Ubicación: Mallorca
Mensajes: 139
Antigüedad: 14 años
Puntos: 3
Problemas con llamada a un subproceso

Buenas tardes necesito ayuda para ejecutar un subproceso en Python ya que me da error al ejecutar. Trabajo con Python 2.7, tengo un proceso llamador.py y un proceso llamado.py

El proceso llamador

Código Python:
Ver original
  1. import subprocess
  2.  
  3. num1 = 2
  4. num2 = 3
  5.  
  6. print "este es el proceso llamador..."
  7.  
  8. subprocess.call('llamado', '-num1', '-num2')
  9.  
  10. print "hecha la llamada"

El proceso llamado

Código Python:
Ver original
  1. print "este es el proceso llamado..."
  2.  
  3. num_1 = 0
  4. num_2 = 0
  5. a = num_1 + num_2
  6.  
  7. print a
  8.  
  9. print "termina el proceso llamado"

Al ejecutar me da error

TypeError: bufsize must be an integer

Creo que es un problema de como se pasan los parametros ya que si lo ejecuto sin parametros funciona bien...
¿alguien puede ayudarme?, gracias.
  #2 (permalink)  
Antiguo 17/08/2012, 08:53
 
Fecha de Ingreso: agosto-2012
Ubicación: Villahermosa
Mensajes: 26
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Problemas con llamada a un subproceso

Te dice que el valor debe ser un integer:

No sera que en el subprocesscall estas declarando num1 y num2 como strings al ponerle las '' y no como integers ???

Es lo que yo creo, cabe señalar que soy nuevo en esto, pero bueno es algo asi vagamente que se me ocurre
  #3 (permalink)  
Antiguo 17/08/2012, 08:57
 
Fecha de Ingreso: diciembre-2010
Ubicación: Mallorca
Mensajes: 139
Antigüedad: 14 años
Puntos: 3
Respuesta: Problemas con llamada a un subproceso

lo he probado pero no es esto ya que en este caso me da un error de TypeError: argument of type 'int' is not iterable
  #4 (permalink)  
Antiguo 17/08/2012, 08:57
 
Fecha de Ingreso: diciembre-2010
Ubicación: Mallorca
Mensajes: 139
Antigüedad: 14 años
Puntos: 3
Respuesta: Problemas con llamada a un subproceso

Además en el programa llamado.py no se si deben definirse las dos variables..., he visto muchos ejemplos pero ninguno dice como se definen las variables en el programa llamado...
  #5 (permalink)  
Antiguo 17/08/2012, 09:14
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 9 meses
Puntos: 1360
Respuesta: Problemas con llamada a un subproceso

Código Python:
Ver original
  1. # llamador.py
  2. import subprocess
  3.  
  4. num1 = 2
  5. num2 = 3
  6.  
  7. print "este es el proceso llamador..."
  8.  
  9. subprocess.call(['python', 'llamado.py', str(num1), str(num2)])
  10.  
  11. print "termina el proceso llamador"

Código Python:
Ver original
  1. # llamado.py
  2.  
  3. import sys
  4. print "este es el proceso llamado..."
  5.  
  6. num_1 = int(sys.argv[1])
  7. num_2 = int(sys.argv[2])
  8. a = num_1 + num_2
  9.  
  10. print a
  11.  
  12. print "termina el proceso llamado"
  #6 (permalink)  
Antiguo 17/08/2012, 09:19
 
Fecha de Ingreso: agosto-2012
Ubicación: Villahermosa
Mensajes: 26
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Problemas con llamada a un subproceso

Pues ya esta, ya te han resuelto tu duda.

razpeitia date una vuelta por mi post, por favor !!! jejejeje
  #7 (permalink)  
Antiguo 17/08/2012, 09:56
 
Fecha de Ingreso: diciembre-2010
Ubicación: Mallorca
Mensajes: 139
Antigüedad: 14 años
Puntos: 3
Respuesta: Problemas con llamada a un subproceso

Gracias Razpeitia, voy a probar...

ya he probado, va perfecto MUCHAS GRACIAS.
  #8 (permalink)  
Antiguo 17/08/2012, 10:47
 
Fecha de Ingreso: diciembre-2010
Ubicación: Mallorca
Mensajes: 139
Antigüedad: 14 años
Puntos: 3
Respuesta: Problemas con llamada a un subproceso

Suponía que al crear un subproceso, el proceso llamador o principal seguía su curso y el subproceso se ejecutaba independientemente..., pero no es así, el proceso principal no termina hasta que no ha terminado el subproceso... ¿hay alguna forma de que el proceso principal continue independientemente del subproceso?. Gracias.
  #9 (permalink)  
Antiguo 20/08/2012, 07:40
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problemas con llamada a un subproceso

Lee por acá
http://stackoverflow.com/questions/1...cess-in-python

Respuesta corta: os.system() con el comando completo (con un & al final si es en UNIX), os.spawnl, o subprocess.Popen con cierto cuidado (no utilizar la salida del proceso)

Etiquetas: gui, llamada
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:29.