9.11 distutils.dir_util -- Operazioni su alberi di directory

Questo modulo fornisce funzioni per operare sulle directory e su alberi di directory.

mkpath( name[, mode=0777, verbose=0, dry_run=0])
Crea una directory ed ogni directory intermedia mancante. Se la directory gi esiste (o se name una stringa vuota, che significa la directory corrente, che ovviamente esiste), non fa nulla. Solleva l'eccezione DistutilsFileError se non riesce a creare alcune directory (per esempio alcune sottodirectory esistono, ma c' un file al posto di una directory). Se verbose vero, stampa un sommario di una riga per ogni mkdir su stdout. Restituisce la lista delle directory attualmente create.

create_tree( base_dir, files[, mode=0777, verbose=0, dry_run=0])
Crea tutte le directory vuote sotto base_dir, necessarie per inserire files. base_dir semplicemente il nome di una directory che non necessariamente deve gi esistere; files una lista di nomi di file da interpretare relativamente a base_dir. base_dir + la porzione di directory di ogni file in files verr creata se gi non esiste. Le opzioni mode, verbose e dry_run sono come quanto gi visto per mkpath().

copy_tree( src, dst[preserve_mode=1, preserve_times=1, preserve_symlinks=0, update=0, verbose=0, dry_run=0])
Copia un intero albero di directory src in una nuova posizione dst. Sia src che dst devono essere nomi di directory. Se src non una directory, viene sollevata l'eccezione DistutilsFileError. Se src non esiste, viene creata con mkpath(). Il risultato finale della copia che ogni file in src viene ricorsivamente copiato in dst. Restituisce la lista dei file che sono stati copiati o che dovrebbero essere stati copiati, usando il loro nome di uscita. Il valore restituito non affetto da update o dry_run: semplicemente la lista di tutti i file sotto src, con il nome cambiato per andare sotto dst.

preserve_mode e preserve_times sono gli stessi di copy_file in distutils.file_util; si noti che si applica solo ai file regolari, non alle directory. Se preserve_symlinks vero, i collegamenti vengono copiati come collegamenti (sulle piattaforme che li supportano!); altrimenti (il predefinito), verr copiata la destinazione. update e verbose sono gli stessi di copy_file().

remove_tree( directory[verbose=0, dry_run=0])
Ricorsivamente rimuove le directory e tutti i file e directory ivi contenuti. Ogni errore viene ignorato (a parte il fatto che siano riportati su stdout se verbose vero).

** Alcune di queste dovrebbero essere sostituite con il modulo shutil? **

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