[Python] Re: Digest di Python, Volume 9, Numero 62

Pietro Battiston battiston a mail.dm.unipi.it
Dom 28 Gen 2007 12:24:08 CET


> Date: Sat, 27 Jan 2007 15:50:10 +0100
> From: Andrea Gasparini <gaspa a yattaweb.it>
> Subject: Re: [Python] Re: Muovere cartelle
> To: Discussioni generali sul linguaggio Python
> 	<python a lists.python.it>
> Message-ID: <200701271550.10774.gaspa a yattaweb.it>
> Content-Type: text/plain;  charset="iso-8859-1"
>
> Pietro Battiston spiffera, alle Saturday 27 January 2007 15:46 circa:
>   
>> Uso shutil.rmtree() perché sennò (a meno che non mi sia sfuggito
>> qualcosa) mi dovrei scivere io l'algoritmo per rimuovere manualmente le
>> sottocartelle.
>>     
>
> mah, se non hai particolari esigenze:
>
> removedirs( path)
>     Removes directories recursively. 
>
> renames( old, new)
>     Recursive directory or file renaming function. 
>   
Non sono mica quello che voglio io!

La prima non lo è perché se la cartella A contiene le cartelle B e C (e 
io le vorrei cancellare tutte), le seguenti chiamate avranno i seguenti 
risultati:

removedirs(A/B) -> rimuove B, prova a rimuovere A ma non è vuota (c'è C) 
-> errore
removedirs(A) -> prova a rimuovere A ma non è vuota (ci sono B e C) -> 
errore

renamedirs (A, Anuova) -> prova a rinominare A in Anuova, ma se Anuova 
c'è già -> errore

Sempre che io non abbia completamente frainteso la documentazione: 
http://docs.python.org/lib/os-file-dir.html

In effetti mi sono stupito che os non abbia una funzione per la 
rimozione ricorsiva di sottocartelle, ma pare che sia una cosa voluta 
per "proteggerci".

CIAO

Pietro


Maggiori informazioni sulla lista Python