elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Problema al importar script en Ubuntu
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema al importar script en Ubuntu  (Leído 2,163 veces)
Tincho.py

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Problema al importar script en Ubuntu
« en: 6 Abril 2016, 17:41 pm »

Hola a todos. Trataré de describir lo más claramente posible el problema que tengo. Estoy adaptando un programa de consulta de stock que desarrollé en Windows con Python 2.7 y PyQt4 para que funcione con Ubuntu. El mismo posée una ventana principal con cuatro botones (consultar, ingresar nuevos artículos, modificar artículos y salir). En Windows quedó perfecto: uso el botón Consultar, por ejemplo, y se abre una nueva ventana con sus correspondientes funciones, SIN que se cierre la del menú principal. Si cierro la de consulta, puedo seguir usando la primera, hasta que la cierre. El problema es que en Ubuntu no puedo usar os.startfile, y al usar subprocess.call se abre la segunda ventana, puedo utilizarla perfectamente PERO la primera se bloquea (y hasta toma un tono más oscuro). Qué estoy haciendo mal?


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Problema al importar script en Ubuntu
« Respuesta #1 en: 6 Abril 2016, 19:33 pm »

probablemente se queda esperando a que la ventana termine... te recomiendo que la abras asincronamente es decir, no uses subprocess.call sino subprocess.Popen

Citar
subprocess.call(args, *, stdin=None, stdout=None, stderr=None, shell=False)
Run the command described by args. Wait for command to complete, then return the returncode attribute.

Citar
class subprocess.Popen(args, bufsize=0, executable=None, stdin=None, stdout=None, stderr=None, preexec_fn=None, close_fds=False, shell=False, cwd=None, env=None, universal_newlines=False, startupinfo=None, creationflags=0)
Execute a child program in a new process. On Unix, the class uses os.execvp()-like behavior to execute the child program. On Windows, the class uses the Windows CreateProcess() function. The arguments to Popen are as follows.

el uso basico es identico

Código:
subprocess.call(["ls", "-l"])
Código:
variableControlDelProceso = subprocess.Popen(["ls", "-l"])
si no vas a usar pipes ni nada de eso, puedes no declarar la variable

si usas la variables tienes las opciones de Popen que te permiten ver si el programa finalizó o pasarle comandos


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Python]Problema al importar Urllib2
Python
O-LLOS-O 4 4,752 Último mensaje 3 Junio 2010, 15:18 pm
por O-LLOS-O
script bash (ubuntu): Parar un proceso sin salir del script (SOLUCIONADO)
Scripting
moikano→@ 6 11,512 Último mensaje 28 Octubre 2010, 15:48 pm
por moikano→@
Problema al importar en Python desde Ubuntu
Programación General
JCRb 0 1,905 Último mensaje 2 Enero 2012, 21:02 pm
por JCRb
Problema al importar base de datos
Bases de Datos
locstar 1 2,579 Último mensaje 16 Abril 2015, 21:11 pm
por fran800m
Problema con While En Script de Ubuntu (Resuelto)
Scripting
Aitorseven 8 8,361 Último mensaje 21 Mayo 2018, 20:26 pm
por Aitorseven
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines