getstatusoutput

Fredy Cabre fredy9 en menta.net
Mar Oct 3 00:33:02 CEST 2006


Gracias por la respuesta, me he estado mirando la funcion que dices
(popen) pero dado que 
acabo de empezar con el python, no se si acabo de entenderla bien.
En los argumentos del primer parámetro está claro que debe ser una array
de strings 
donde el primer miembro debe ser el programa al que se llama (con la
ruta completa supongo) 
y los demás son argumentos que se le pasan el programa a ejecutar.
Sabéis si en mi caso de querer llamar al programa de hacer fotos se le
podría pasar un argumento 
para que me retornase el archivo de la foto para renombrarlo y cambiarlo
de sitio?

Gracias


-----Mensaje original-----
De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org]
En nombre de Arnau Sanchez
Enviado el: lunes, 02 de octubre de 2006 2:03
Para: La lista de python en castellano
Asunto: Re: [Python-es] getstatusoutput



Marcos Sánchez Provencio escribió:
> para que las \ se interpreten tal cual, hay que usar cadenas en bruto:

> http://pyspanishdoc.sourceforge.net/tut/node5.html#SECTION005120000000
> 000000000
> 
> 
> o sea, poner
> 
> status,output = commands.getstatusoutput(r"\Windows\camera.exe")
> 
> 
> Fredy Cabre escribió:
>> Ya lo he arreglado, lo he compilado desde mi pc con el pyhton 2.4 y 
>> los .pyc arrancan bien en el ppc. El problema es que con el codigo 
>> que he puesto me lanza un error de excepción.
>>     imports commands
>>     status,output = commands.getstatusoutput("\Windows\camera.exe")
>>  
>>  
>>  
>> he probando añadiendo un parámetro despues de la llamada al programa 
>> pero tambien me da error:
>>     status,output = commands.getstatusoutput("\Windows\camera.exe 
>> foto")
>>  

Además de lo que te dicen de escapar las '\' con '\\', estás usando el
módulo 
"commands", que según la documentación sólo está soportado en sistemas
UNIX 
(aunque no puedo descartar que funcione en Win32, vete a saber). En
cualquier 
caso, a partir de la versión 2.4 se recomienda usar subprocess:

http://docs.python.org/lib/module-subprocess.html

Como no creo que uses la salida del comando (¿o sí? en windows me
extrañaría 
mucho), tienes la función "call", que sólo te devuelve el returncode:

http://docs.python.org/lib/node530.html

En cuanto al path de camera.exe, das por supuesto que está en la unidad
actual. 
¿no sería mejor poner el path completo u obtener antes el directorio
base de 
windows (ni idea de cómo se hace, pero seguro que se puede)?

Y por último, si sigue fallando, envía el mensaje de error completo.
Sólo dices 
que te salió "un error de excepción" :-), pero no lo incluyes en tu
mensaje, así 
que sólo podemos especular.

arnau
_______________________________________________
Python-es mailing list
Python-es en aditel.org http://listas.aditel.org/listinfo/python-es


-- 
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.405 / Virus Database: 268.12.9/456 - Release Date:
25/09/2006




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