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