Problema al usar os.system

Fernando Denis denis21 en gmail.com
Dom Jun 1 19:11:38 CEST 2008


Gracias Arnau por la información ahora no puedo echarle un ojo, aver si esta
noche me pongo y ya te digo.

lo de killall python vino porque ejecutaba un ps -A | grep python | cut -f1
-s' ' sino recuerdo mal ¿?? para coger el pid y matar los procesos
anteriores .... y se convertió en un killall python :) es que no podía
recoger el resultado de un os.system en una variable...

Bueno voy a darle un poco más de caña con lo que me has mandado y os
comento.

Gracias ;)

2008/6/1 Arnau Sanchez <pyarnau en gmail.com>:

> Fernando Denis escribió:
>
>
>  import os
>> import time
>> def funcEmuleConf(upload, download):
>>        path="/root/.mldonkey/downloads.ini"
>>        archivo=open(path,'r')
>>        upload=" = " + upload
>>        download = " = " + download
>>        docu = ""
>>        cadSearch = ("max_hard_upload_rate", "max_hard_upload_rate_2",
>> "max_hard_download_rate", "max_hard_download_rate_2")
>>        contenido=archivo.readlines()
>>        indice=[0-len(contenido)]
>>        for indice in contenido:
>>                cont = 0
>>                while cont < len(cadSearch):
>>                        if indice.find(cadSearch[cont],0,len(indice)) !=
>> -1:
>>                                if cont > 1: value = download
>>                                else: value = upload
>>                                indice = " " + cadSearch[cont]  + value +
>> "\n"
>>                        cont = cont+1
>>                docu += indice
>>        archivo=open(path,'w')
>>        archivo.write(docu)
>>        archivo.close()
>> pathLog = "/home/denis/logMlScript.log"
>> log=open(pathLog,'w+')
>> os.system("killall python")
>> funcEmuleConf("1","1")
>> os.system("mlnet &")
>> log.write(time.strftime("%Y-%m-%d %H:%M:%S") + "   MLdonkey parado durante
>> una hora\n")
>> time.sleep(3600)
>> funcEmuleConf("25","100")
>> log.write(time.strftime("%Y-%m-%d %H:%M:%S") + "   MLdonkey activo\n")
>> log.close()
>>
>
> Varios comentarios:
>
> - Python es más potente que un lenguaje de shell, no deberías usar las
> mismas técnicas. Siempre se puede encontrar un modo de no arrancar procesos
> en segundo plano con &. Por ejemplo, en vez de os.system mírate subprocess:
>
> http://pythonesfaq.k-rolus.net/#index52h3
>
> - Que un script python ejecute "killall python" sólo lo podemos calificar
> de una forma: "harakiri" :-p
>
> - Para cuidar aspectos de estilo ver:
>
> http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html<http://python.net/%7Egoodger/projects/pycon/2007/idiomatic/handout.html>
>
> Especialmente la forma en que iteras "contenidos" es bastante mejorable
> (los objetos fichero de texto son directamente iterables por línea: for line
> in open(filename):)
>
> _______________________________________________
> Lista de correo Python-es http://listas.aditel.org/listinfo/python-es
> FAQ: http://listas.aditel.org/faqpyes
>



-- 
Fernando Denis
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





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