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ı?