<div dir="ltr"><div class="gmail_default" style="font-family:'times new roman',serif;font-size:large">Buongiorno a tutti,</div><div class="gmail_default" style="font-family:'times new roman',serif;font-size:large"><br></div><div class="gmail_default" style="font-family:'times new roman',serif;font-size:large">sto utilizzando il modulo subprocess per eseguire un backup di una cartella con il comando Windows robocopy e, apparentemente, tutto funziona bene.</div><div class="gmail_default" style="font-family:'times new roman',serif;font-size:large">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.</div><div class="gmail_default" style="font-family:'times new roman',serif;font-size:large">Così ho provato a sostituire la subprocess.call con l'istruzione riportata nel seguente frammento di codice:</div><div class="gmail_default" style="font-family:'times new roman',serif;font-size:large"><br></div><div class="gmail_default" style="font-family:'times new roman',serif;font-size:large">(in Python 3.4.2 e Windows 7 pro)</div><div class="gmail_default" style="font-family:'times new roman',serif;font-size:large"><br></div><div class="gmail_default" style="font-family:'times new roman',serif;font-size:large"><div class="gmail_default">try:</div><div class="gmail_default">    subprocess.check_call(['robocopy', directory_sorgente, directory_destinazione, "/MIR"],  shell=True)</div><div class="gmail_default">except subprocess.CalledProcessError:</div><div class="gmail_default">    print (" - ", sys.exc_info()[0])</div><div class="gmail_default">    print (" - ", sys.exc_info()[1])</div><div class="gmail_default">    print (" - ", sys.exc_info()[2])</div></div><div class="gmail_default" style="font-family:'times new roman',serif;font-size:large"><br></div><div class="gmail_default" style="font-family:'times new roman',serif;font-size:large">L'errore restituito è questo:</div><div class="gmail_default" style><div class="gmail_default" style><font face="times new roman, serif" size="4"><br></font></div><div class="gmail_default" style><font face="times new roman, serif" size="4"> -  <class 'subprocess.CalledProcessError'></font></div><div class="gmail_default" style><font face="times new roman, serif" size="4"> -  Command '['robocopy', 'C:\\dati', 'D:\\test', '/MIR']' returned non-zero exit status 1</font></div><div class="gmail_default" style><font face="times new roman, serif" size="4"> -  <traceback object at 0x01D278A0></font></div><div class="gmail_default" style><font face="times new roman, serif" size="4"><br></font></div><div class="gmail_default" style><font face="times new roman, serif" size="4">e non capisco perché non gli sta bene.</font></div><div class="gmail_default" style><font face="times new roman, serif" size="4">Cosa strana se tolgo ilparametro </font><span style="font-family:'times new roman',serif;font-size:large">"/MIR", lo script non da nessun errore.</span></div><div class="gmail_default" style><span style="font-family:'times new roman',serif;font-size:large"><br></span></div></div><div class="gmail_default" style="font-family:'times new roman',serif;font-size:large">Cosa sto sbagliando secondo voi? ...</div><div class="gmail_default" style="font-family:'times new roman',serif;font-size:large"><br></div><div><div class="gmail_signature">.m<div><br></div><div>.Massimo .Capanni</div><div><br></div><div><span style="color:rgb(0,0,0);font-family:sans-serif;font-size:12.7272720336914px;line-height:19.1969699859619px">σπευδε βραδεως</span><br></div></div></div>
</div>