<div dir="ltr">Il giorno 03 ottobre 2013 15:23, Manlio Perillo <span dir="ltr"><<a href="mailto:manlio.perillo@gmail.com" target="_blank">manlio.perillo@gmail.com</a>></span> ha scritto:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><br>
Perche' ne metti in dubbio l'utilit¢?<br>
La cosa da mettere in dubbio, magari, e' la scelta di usare i threads.<br>
<br></blockquote><div>in effetti era quello il dubbio.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Puoi, infatti, eseguire il comando ``cp`` di sistema con l'opzione<br>
``-i``, usando il modulo subprocess.<br></blockquote><div> </div><div>Il fatto è che lo script in fase di copia deve avere un'interfaccia grafica per l'utente finale. E deve essere compilabile con py2exe per essere distribuito anche sotto windows. </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class="im"><br>
</div>Perche' mai dovresti eseguire il controllo di esistenza del file di<br>
destinazione all'interno di un thread.<br>
Questa non │ una operazione che prende troppo tempo. Quello che devi<br>
eseguire in un thread separato e' la copia del file.<br>
<br>
Puoi eseguire il controllo in modo semplice nel thread principale,<br>
aprendo il file di destinazione in modalit¢ esclusiva<br>
(O_EXCL, <a href="http://docs.python.org/2/library/os.html#open-constants" target="_blank">http://docs.python.org/2/library/os.html#open-constants</a>), e<br>
passando poi il descrittore di file al thread pool che si occupa della<br>
copia, utilizzando una queue.<br></blockquote><div><br></div><div>In realtà inizialmente sarebbe dovuto bastare un --overwrite come opzione a monte. Ma la richiesta è poi stata modificata. </div><div>Avevo già pensato di fare il controllo nel thread principale - e l'idea è ancora valida -, anche se potrebbero essere molti file da controllare (utilizza walk e una serie di filtri di inclusione ed esclusione per recuperare i files da copiare).</div>
<div>Il fatto è che mi piaceva l'idea di avere di avere un controllo maggiore sui thread.</div><div><br></div><div>luca</div></div><br></div></div>