Buongiorno a tutti,

sto utilizzando il modulo subprocess per eseguire un backup di una cartella
con il comando Windows robocopy e, apparentemente, tutto funziona bene.
Siccome ignoro molte cose di questo linguaggio, ho cominciato ad andare
oltre e mi sono guardato altre sfumature della libreria subprocess e ho
scoperto che la check_call restituisce codici di errore.
Così ho provato a sostituire la subprocess.call con l'istruzione riportata
nel seguente frammento di codice:

(in Python 3.4.2 e Windows 7 pro)

try:
    subprocess.check_call(['robocopy', directory_sorgente,
directory_destinazione, "/MIR"],  shell=True)
except subprocess.CalledProcessError:
    print (" - ", sys.exc_info()[0])
    print (" - ", sys.exc_info()[1])
    print (" - ", sys.exc_info()[2])

L'errore restituito è questo:

 -  <class 'subprocess.CalledProcessError'>
 -  Command '['robocopy', 'C:\\dati', 'D:\\test', '/MIR']' returned
non-zero exit status 1
 -  <traceback object at 0x01D278A0>

e non capisco perché non gli sta bene.
Cosa strana se tolgo ilparametro "/MIR", lo script non da nessun errore.

Cosa sto sbagliando secondo voi? ...

.m

.Massimo .Capanni

σπευδε βραδεως
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a