Exécutez le code suivant à partir d'un répertoire qui contient un répertoire nommé bar
(contenant un ou plusieurs fichiers) et un répertoire nommé baz
(contenant également un ou plusieurs fichiers) . Assurez-vous qu'il n'y a pas de répertoire nommé foo
.
import shutdown shutdown.copytree("bar", "foo") shutdown.copytree("baz", " foo")
Cela échouera avec :
$ python copytree_test.py Traceback (appel le plus récent en dernier) : Fichier "copytree_test.py", ligne 5, dans <module> shutdown.copytree("baz", "foo") Fichier "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/shutil.py", ligne 110, dans le fichier copytree "/System/ Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/os.py", ligne 172, dans makedirs OSError : [Errno 17] Le fichier existe : "foo"
Je veux que cela fonctionne de la même manière que si j'avais tapé :
$ mkdir foo $ cp bar/* foo/ $ cp baz/* foo/
Dois-je utiliser shutil.copy()
pour copier chaque fichier de baz
dans foo
? (Après avoir déjà copié le contenu de "bar" dans "foo" avec shutil.copytree()
?) Ou existe-t-il un moyen plus simple/meilleur ?