6.25 shutil -- Operazioni di alto livello sui files

Il modulo shutil offre numerose operazioni di alto livello sui file e sugli insiemi di file. In particolare, vengono fornite funzioni che supportano la copia e la rimozione dei file.

Avvertenza: Su MacOS, la risorsa fork ed altri metadati non vengono usati. Per la copia dei file, questo significa che le risorse verranno perse e il tipo del file ed i codici di creazione non saranno corretti.

copyfile( src, dst)
Copia il contenuto del file chiamato src nel file chiamato dst. La posizione della destinazione deve avere il permesso di scrittura; altrimenti verrā sollevata un'eccezione IOError. Se dst giā esiste, verrā sostituito. I file speciali come i dispositivi a caratteri o a blocchi e le pipe non possono venire copiati con questa funzione. src e dst sono i nomi dei percorsi forniti come stringhe.

copyfileobj( fsrc, fdst[, length])
Copia il contenuto dell'oggetto simile a file fdst nell'oggetto simile a file fdst. L'intero length, se fornito, rappresenta la dimensione del buffer. In particolare, un valore negativo di length significa copiare i dati senza eseguire un ciclo sopra la sorgente dei dati spezzettati; in modo predefinito i dati vengono letti in singole porzioni, per evitare consumi di memoria incontrollati.

copymode( src, dst)
Copia i bit dei permessi da src a dst. Il contenuto del file, il suo proprietario ed il relativo gruppo di appartenenza rimangono inalterati. src e dst sono i nomi dei percorsi forniti come stringhe.

copystat( src, dst)
Copia i bit dei permessi, il tempo rappresentante l'ultimo accesso e il tempo dell'ultima modifica da src a dst. Il contenuto del file, il suo proprietario ed il relativo gruppo di appartenenza rimangono inalterati. src e dst sono i nomi dei percorsi forniti come stringhe.

copy( src, dst)
Copia il file src nel file o directory dst. Se dst č una directory, un file con lo stesso prefisso del percorso di src viene creato (o sovrascritto) nella directory specificata. I bit dei permessi vengono copiati. src e dst sono i nomi dei percorsi forniti come stringhe.

copy2( src, dst)
Simile a copy(), ma vengono preservate le date di ultimo accesso e di ultima modifica. Questo č simile al comando Unix cp -p.

copytree( src, dst[, symlinks])
Copia ricorsivamente un'intero albero di directory avente radice in src. La directory di destinazione, chiamata da dst, non deve esistere; verrā creata al momento. I singoli file vengono copiati usando copy2(). Se symlinks č impostato a True, i collegamenti simbolici nell'albero sorgente verranno rappresentati come collegamenti nel nuovo albero; se impostato a False o omesso, i contenuti dei file collegati da link simbolici verrnno copiati nel nuovo albero. Se si presentassero dei casi particolari, verrā sollevata un'eccezione Error con un elenco delle motivazioni che l'hanno provocata.

In questi casi il codice sorgente dovrebbe essere considerato un esempio piuttosto che uno strumento. Modificato nella versione 2.3: Viene sollevata un'eccezione Error per ogni eccezione intercettata durante la copia, invece she stampare solo un messaggio.

rmtree( path[, ignore_errors[, onerror]])
Cancella un intero albero di directory. Se ignore_errors č impostato a True, gli errori risultanti da una fallita rimozione verranno ignorati; se impostato a False o omesso, tali errori verranno trattati da un gestore specificato da onerror o, se questo viene omesso, solleveranno un'eccezione.

Se viene fornito onerror, deve essere un oggetto chiamabile che accetti tre parametri; function, path ed excinfo. Il primo parametro, function, č la funzione che solleva l'eccezione; sarā una tra os.remove() o os.rmdir(). Il secondo parametro, path, sarā il nome del percorso passato alla funzione function. Il terzo parametro, excinfo, sarā l'informazione sull'eccezione restituita da sys.exc_info(). Le eccezioni sollevate da onerror non verranno intercettate.

move( src, dst)
Sposta ricorsivamente un file o una directory in un altra posizione.

Se la destinazione č nel nostro filesystem corrente, verrā usato semplicemente rename. Altrimenti, copierā la sorgente nella destinazione, rimuovendo successivamente la sorgente.

Nuovo nella versione 2.3.

exception Error
Questa eccezione raccoglie le eccezioni che vengono sollevate durante una operazione su file multipli. Per copytree, l'argomento dell'eccezione č una tuple a tre elementi (srcname, dstname, exception).

Nuovo nella versione 2.3.



Subsections
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.