ejecutar programas desde python

Joan Ordinas jordinas en gmail.com
Lun Sep 19 10:41:14 CEST 2005


On 10/3/05, Juan Manuel <juanma1980 en gmail.com> wrote:
> Buenas!
> A ver si me podéis echar un cable.
> Como toma de contacto con el mundillo de python y la programación en linux me
> he decidido por realizarme una gui con pyQt para VLC, un reproductor
> multimedia multiplataforma.
> Bien, mi problema llega al momento de ejecutar vlc.
> El código que pongo es el siguiente:
> 
> from wxPython.wx import *
> from wxPython.grid import *
> import qt
> import os
> ..
> ..
> class TestGrid(wxGrid):
>      def __init__(self, parent, log):
> ..
> ..
>         os.popen2('/usr/bin/vlc')
> ..
> ..
> 
> Bien, al llegar al os.popen2 el programa sencillamente deja de ejecutarse sin
> dar mensaje de error. Mirando en los procesos que se ha ejecutado (por si ha
> llegado a lanzar el vlc) veo que vlc aparece como <defunct> (uso linux). Es
> decir, que ha sido lanzado y "ha muerto".
> Lo curioso es que si pongo un programa que tenga GUI, como gcdmaster o
> kmplayer, si que funciona bien; y cualquier programa de consola me hace lo
> mismo que vlc, se lanza y aparece como <defunct>, interrumpiendo la ejecución
> de la rutina de python de paso.
> 
> ¿Qué es lo que hago mal?

os.popen2('/usr/bin/vlc') te retorna un pipe: ¿lo guardas en una
variable? ¿lees su salida?

Creo que lo que necesitas es os.system.

JJOR




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