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
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a