[Python] Esecuzione dnscmd con python3

Marco Buttu mbuttu a oa-cagliari.inaf.it
Lun 21 Ott 2013 15:36:17 CEST


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: mbuttu a oa-cagliari.inaf.it

-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20131021/c60e7717/attachment.html>


Maggiori informazioni sulla lista Python