subprocess.Popen.communicate jsem zkoušel také, vrací však prázdné hodnoty.
Zřejmě proto, jelikož vlastní command je bez chyby.


azurIt napsal(a):
http://docs.python.org/library/subprocess.html#subprocess.Popen.communicate

azur


______________________________________________________________
Od: "\Ing. Vladislav Ludík\" <[email protected]>
Komu: Konference PyCZ <[email protected]>
Dátum: 27.10.2012 12:58
Predmet: [python] stdout v subprocess

Ahoj, poradí někdo se získáním výstupu při použití subprocess ?

Příklad:

Soubor je uložen na vzdáleném serveru na sambě = zdroj. Chci jej načíst a uložit u sebe na mém serveru = cíl.

Používám následující skript:

/import subprocess

def ctiSambu(zdroj, cil):
   'Samba -> Server'
command = [ 'sshpass',
       '-p', 'heslo',
       'scp',
       '-P', '9999',
       '-o', 'StrictHostKeyChecking=no',
       '-o', 'UserKnownHostsFile=/dev/null',
       '-o', 'LogLevel=ERROR',
       '[email protected]:/home/samba/disk/%s' % zdroj,
       cil
       ]
   prg = subprocess.Popen(command, shell=False, stdout=subprocess.PIPE)
   return prg.wait()

zdroj = 'cteny_soubor'
cil = 'uloziste'

status = //ctiSambu(zdroj, cil)

if status != 0:
   print 'nejaka chyba'
//
/Chyba vznikne například zadáním neexistujícího souboru apod.
Můj dotaz se týká zjištění, jaká chyba způsobila nenulový status.
Chybová zpráva se sice vypíše na konzolu, ale já ji však potřebuju pro další zpracování mít v proměnné.

Poradí mi někdo ?
_______________________________________________
Python mailing list
[email protected]
http://www.py.cz/mailman/listinfo/python

_______________________________________________
Python mailing list
[email protected]
http://www.py.cz/mailman/listinfo/python

_______________________________________________
Python mailing list
[email protected]
http://www.py.cz/mailman/listinfo/python

Odpovedet emailem