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?