Re: [Python] Os.popen e comando route add

2011-01-17 Per discussione Giampaolo Rodolà
Spesso mi porto dietro questa funzione in molti script per fare lavori
sporchi/veloci:

import subprocess, warnings

def sh(cmdline):
run cmd in a subprocess and return its output.
raises RuntimeError on error.

p = subprocess.Popen(cmdline, shell=True, stdout=subprocess.PIPE,
   stderr=subprocess.PIPE)
stdout, stderr = p.communicate()
if p.returncode != 0:
raise RuntimeError(stderr)
if stderr:
warnings.warn(stderr, RuntimeWarning)
return stdout

  sh(whoami)
 'giampaolo\n'
  sh(blabla)
 Traceback (most recent call last):
   File stdin, line 1, in module
   File _utils.py, line 12, in sh
 raise RuntimeError(stderr)
 RuntimeError: /bin/sh: blabla: command not found
 

A partire da python 2.7 puoi usare subprocess.check_output() che però
trovo meno comoda:
http://docs.python.org/library/subprocess.html#subprocess.check_output


--- Giampaolo
http://code.google.com/p/pyftpdlib/
http://code.google.com/p/psutil/



Il 15 gennaio 2011 12:27, Paolo Bernardi villa.lo...@tiscali.it ha scritto:
 Tra le altre cose, se vuoi restare aggiornato, ti consiglio di dare
 un'occhiata al modulo subprocess, particolarmente alla sezione su come
 rimpiazzare le chiamate os.popen*:

 http://docs.python.org/library/subprocess.html#replacing-os-popen-os-popen2-os-popen3

 Con la popen, ad esempio, mi è capitato di fare qualcosa di simile:

 p = subprocess.Popen(['axel', '-o', file, self.url], shell=False,
 stdout=subprocess.PIPE)
 line = p.stdout.readline()
 while line != None and line != '' and not p.poll():
    [...]
    line = p.stdout.readline()

 In questo caso ovviamente mi serviva l'output riga per riga (man mano
 che axel avanzava), ma puoi anche leggere tutto in blocco.

 Paolo

 On Fri, 2011-01-14 at 12:03 +0100, Stefano Dal Pra wrote:
 Ciao,
 prova con os.popen3 :
 stdin,stdou,stderr = os.popen(ping 151.1.1.1)

 dovresti scoprire che il SIOCADDRT compare con stderr.readline() ...

 Stefano

 ___
 Python mailing list
 Python@lists.python.it
 http://lists.python.it/mailman/listinfo/python


___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Os.popen e comando route add

2011-01-17 Per discussione LuupuxAll
Grazie per la dritta

Il 17 gennaio 2011 12:47, Giampaolo Rodolà g.rod...@gmail.com ha scritto:
 Spesso mi porto dietro questa funzione in molti script per fare lavori
 sporchi/veloci:

 import subprocess, warnings

 def sh(cmdline):
    run cmd in a subprocess and return its output.
    raises RuntimeError on error.
    
    p = subprocess.Popen(cmdline, shell=True, stdout=subprocess.PIPE,
                                           stderr=subprocess.PIPE)
    stdout, stderr = p.communicate()
    if p.returncode != 0:
        raise RuntimeError(stderr)
    if stderr:
        warnings.warn(stderr, RuntimeWarning)
    return stdout

   sh(whoami)
  'giampaolo\n'
   sh(blabla)
  Traceback (most recent call last):
   File stdin, line 1, in module
   File _utils.py, line 12, in sh
     raise RuntimeError(stderr)
  RuntimeError: /bin/sh: blabla: command not found
  

 A partire da python 2.7 puoi usare subprocess.check_output() che però
 trovo meno comoda:
 http://docs.python.org/library/subprocess.html#subprocess.check_output


 --- Giampaolo
 http://code.google.com/p/pyftpdlib/
 http://code.google.com/p/psutil/



 Il 15 gennaio 2011 12:27, Paolo Bernardi villa.lo...@tiscali.it ha scritto:
 Tra le altre cose, se vuoi restare aggiornato, ti consiglio di dare
 un'occhiata al modulo subprocess, particolarmente alla sezione su come
 rimpiazzare le chiamate os.popen*:

 http://docs.python.org/library/subprocess.html#replacing-os-popen-os-popen2-os-popen3

 Con la popen, ad esempio, mi è capitato di fare qualcosa di simile:

 p = subprocess.Popen(['axel', '-o', file, self.url], shell=False,
 stdout=subprocess.PIPE)
 line = p.stdout.readline()
 while line != None and line != '' and not p.poll():
    [...]
    line = p.stdout.readline()

 In questo caso ovviamente mi serviva l'output riga per riga (man mano
 che axel avanzava), ma puoi anche leggere tutto in blocco.

 Paolo

 On Fri, 2011-01-14 at 12:03 +0100, Stefano Dal Pra wrote:
 Ciao,
 prova con os.popen3 :
 stdin,stdou,stderr = os.popen(ping 151.1.1.1)

 dovresti scoprire che il SIOCADDRT compare con stderr.readline() ...

 Stefano

 ___
 Python mailing list
 Python@lists.python.it
 http://lists.python.it/mailman/listinfo/python


 ___
 Python mailing list
 Python@lists.python.it
 http://lists.python.it/mailman/listinfo/python

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] Cercasi mobile/python speaker

2011-01-17 Per discussione Simone Federici
Ciao,

mi chedevo se qualcuno ha voglia di portare per il codemotion
un talk su sviluppo python su mobile, qualcuno che abbia esperienza in tal
campo
lo dico perche sempre di più si sta creando lavoro su mobile.
E python è un linguaggio che per la sua leggerezza (perdonatemi il temine)
si sposa benissimo con i sistemi embedded.

c'è qualcuno che a marzo ha voglia di scendere a Roma per parlarci di
sviluppo mobile in python?
Simone


NB
ASAP perche domani scade la C4P del codemotion, ad oggi ci sono 60 proposte
mote su mobile ma nessuna mobile+python
che figura ci facciamo?
S
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Cercasi mobile/python speaker

2011-01-17 Per discussione Massimo Capanni
a tal proposito, chi va anche solo come spettatore?

Il giorno 17 gennaio 2011 20:42, Simone Federici s.feder...@gmail.com ha
scritto:

 Ciao,

 mi chedevo se qualcuno ha voglia di portare per il codemotion
 un talk su sviluppo python su mobile, qualcuno che abbia esperienza in tal
 campo
 lo dico perche sempre di più si sta creando lavoro su mobile.
 E python è un linguaggio che per la sua leggerezza (perdonatemi il
 temine)
 si sposa benissimo con i sistemi embedded.

 c'è qualcuno che a marzo ha voglia di scendere a Roma per parlarci di
 sviluppo mobile in python?
 Simone


 NB
 ASAP perche domani scade la C4P del codemotion, ad oggi ci sono 60 proposte
 mote su mobile ma nessuna mobile+python
 che figura ci facciamo?
 S


 ___
 Python mailing list
 Python@lists.python.it
 http://lists.python.it/mailman/listinfo/python


___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python