Python kullanarak bir dosya dizininin tamamını mevcut bir dizine nasıl kopyalarım?

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

Aşağıdaki kodu, bar adlı bir dizini (bir veya daha fazla dosya içeren) ve baz adlı bir dizini (bir veya daha fazla dosya içeren) içeren bir dizinden çalıştırın. . foo adında bir dizin olmadığından emin olun.

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

Şununla başarısız olur:

$ python copytree_test.py Geri izleme (en son çağrı son): Dosya "copytree_test.py", satır 5, <modül> Shutil.copytree("baz", "foo") Dosya "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/shutil.py", satır 110, copytree Dosyasında "/System/ Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/os.py", satır 172, makedirs içinde OSError: [Errno 17] Dosya var: "foo" 

Bunun, şunu yazdığım gibi çalışmasını istiyorum:

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

baz içindeki her dosyayı foo içine kopyalamak için shutil.copy() kullanmam gerekir mi? ("bar"ın içeriğini shutil.copytree() ile "foo"ya kopyaladıktan sonra?) Yoksa daha kolay/daha iyi bir yolu var mı?