[python] stdout v subprocess
"Ing. Vladislav Ludík"
vlada na ludik.cz
Sobota Říjen 27 12:58:18 CEST 2012
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',
'root na server.domena.cz:/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 ?
Další informace o konferenci Python