Como copio um diretório inteiro de arquivos em um diretório existente usando o Python?

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

Execute o seguinte código de um diretório que contém um diretório chamado bar (contendo um ou mais arquivos) e um diretório chamado baz (também contendo um ou mais arquivos) . Certifique-se de que não haja um diretório chamado foo.

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

Falhará com:

$ python copytree_test.py Traceback (última chamada mais recente): Arquivo "copytree_test.py", linha 5, em <módulo> shutil.copytree("baz", "foo") Arquivo "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/shutil.py", linha 110, no arquivo copytree "/System/ Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/os.py", linha 172, em makedirs OSError: [Errno 17] O arquivo existe: "foo" 

Eu quero que isso funcione da mesma forma como se eu tivesse digitado:

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

Preciso usar shutil.copy() para copiar cada arquivo em baz em foo? (Depois que eu já copiei o conteúdo de "bar" para "foo" com shutil.copytree()?) Ou existe uma maneira mais fácil/melhor?