🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: es.comp.os.linux.programacion
4 messages
4 total messages Started by Patxi R.Y. Thu, 22 Sep 2005 16:14
Ejecutar programas externos con Python
#1600
Author: Patxi R.Y.
Date: Thu, 22 Sep 2005 16:14
7 lines
1452 bytes
Llevo tiempo investigando y creo que para hacer eso hay que usar popen, el
problema es que no llego a ver un ejemplo completo, por lo tanto tengo
dudas acerca de que libreria hay que importar (si es que hay que importar
alguna), creo que es os. ¿Alguien puede darme más datos acerca de esto?
Además de ejecutar el programa (sería uno de linea de comandos, unlzx)
estaría muy bien recoger el stdout, la salida del programa vaya.
Muchas gracias y saludos.
Re: Ejecutar programas externos con Python
#1603
Author: forodejazz
Date: Mon, 26 Sep 2005 06:43
32 lines
1920 bytes
En la lista de correo python-es (1) seguro que encuentras la solución,
esa pregunta creo recordar que ha salido muchas veces.

(1) http://listas.aditel.org/archivos/python-es/

Copio y pego de la documentación de Python, módulo popen2:

popen2( cmd[, bufsize[, mode]])

Executes cmd as a sub-process. Returns the file objects (child_stdout,
child_stdin).

popen3( cmd[, bufsize[, mode]])

Executes cmd as a sub-process. Returns the file objects (child_stdout,
child_stdin, child_stderr).

popen4( cmd[, bufsize[, mode]])

Executes cmd as a sub-process. Returns the file objects
(child_stdout_and_stderr, child_stdin). New in version 2.0.


Ejemplo:

import popen2

(salida, entrada) = popen2.popen2("ls")

for a in salida:
    print a
Re: Ejecutar programas externos con Python
#1604
Author: forodejazz
Date: Mon, 26 Sep 2005 06:46
10 lines
1450 bytes
Por cierto, en este ejemplo la variable "entrada" no tendrá nada,
puesto que ls es un comando que sólo produce una salida.

Recuerda que 'salida' y 'entrada' son descriptores de archivos (objetos
tipo 'file')

Saludos.

-- 
David
Re: Ejecutar programas externos con Python
#1607
Author: Patxi Rodrigo Yera
Date: Mon, 26 Sep 2005 16:47
16 lines
1871 bytes
Gracias, lo he probado en la consola de python es lo que quería.
Ahora voy a probarlo en donde lo necesito, estoy desarrollando con PyQT una
interfaz gráfica para unlzx, y popen lo usaria para listar los ficheros que
contiene un comprimido (unlzx -v fichero.lzx). Supongo que a es una
variable string o que se puede convertir facilmente a string...
Gracias, ya comentaré el resultado.
forodejazz@gmail.com wrote:

> Por cierto, en este ejemplo la variable "entrada" no tendrá nada,
> puesto que ls es un comando que sólo produce una salida.
> 
> Recuerda que 'salida' y 'entrada' son descriptores de archivos (objetos
> tipo 'file')
> 
> Saludos.
> 
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads