Come faccio a copiare un’intera directory di file in una directory esistente usando Python?

| | | | | | | | | | | | | | | | |

Esegui il codice seguente da una directory che contiene una directory denominata bar (contenente uno o più file) e una directory denominata baz (contenente anche uno o più file) . Assicurati che non ci sia una directory chiamata foo.

import shutil shutil.copytree("bar", "foo") shutil.copytree("baz", " foo") 

Non riuscirà con:

$ python copytree_test.py Traceback (ultima chiamata più recente): File "copytree_test.py", riga 5, nel <modulo> shutil.copytree("baz", "foo") File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/shutil.py", riga 110, in copytree File "/System/ Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/os.py", riga 172, in makedirs OSError: [Errno 17] Il file esiste: "foo" 

Voglio che funzioni come se avessi digitato:

$ mkdir foo $ cp bar/* foo/ $ cp baz/* foo/ 

Devo usare shutil.copy() per copiare ogni file in baz in foo? (Dopo che ho già copiato il contenuto di "bar" in "foo" con shutil.copytree()?) O c'è un modo più semplice/migliore?