On 10/21/2013 12:45 PM, Marco Passanisi wrote:

import subprocess
output = subprocess.Popen('"C:\Windows\System32\dnscmd.exe" /EnumZones', shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

out, err = output.communicate()

print(err)

Ciao, innanzitutto, come ti hanno detto, dovresti usare delle stringhe raw. Pero' il problema non e' questo, perche' sei stato fortunato e nessuna delle sequenze di caratterei \x fa parte di una sequenza di escape ;) Inoltre, quando usi shell=True, la stringa viene eseguita dalla shell sottostante, quindi avresti potuto scrivere direttamente:

subprocess.Popen("C:\Windows\System32\dnscmd.exe /EnumZones",  shell=True,...)

Quindi, anche se sembra banale, credo che il problema sia che nel tuo sistema non esiste il fileC:\Windows\System32\dnscmd.exe...
Puoi verificare? Ad esempio, nel mio non c'e':

$ ls Windows/System32/dnsc*
Windows/System32/dnscacheugc.exe  Windows/System32/dnscmmc.dll


--
Marco Buttu

INAF - Osservatorio Astronomico di Cagliari
Via della Scienza, Loc. Cuccuru Angius
09047 Selargius (CA)
Phone: 070 711 80 217
Email: mbu...@oa-cagliari.inaf.it

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

Rispondere a