[Python] Muovere cartelle
Pietro Battiston
battiston a mail.dm.unipi.it
Ven 26 Gen 2007 11:52:15 CET
Salve a tutti, ho un problema:
devo muovere una cartella da un posto ad un altro. In questo altro
posto, ci può già essere una cartella con lo stesso nome, che in tal
caso deve essere sostituita. Sembra una cosa semplicissima (e
probabilmente lo è), ma:
- nel modulo os (e neanche in os.path) non ho trovato niente di utile.
- nel modulo shutil c'è move, che però implementa copytree, che si
rifiuta di sovrascrivere.
Quindi l'unica cosa che mi viene in mente è: shutil.rmtree() +
shutil.move(). Ma non c'è niente di più furbo?
Non lo dico (solo) per un problema di eleganza, ma anche per un problema
di consistenza (per un tot di tempo la cartella, che contiene un albero
piuttosto complesso, sarà inesistente, e questo mi scoccia): so bene che
né rmtree né shutil né qualsiasi altra funzione che possiate
consigliarmi saranno atomiche, ma mi accontenterei di una funzione che
modifichi una per una le cartelle interne, senza cancellare mai quella
globale (e magari, più in generale, le sottocartelle - e, se non è
chiedere troppo, i symlink - in comune).
Grazie, ciao
Pietro
Maggiori informazioni sulla lista
Python