Запустите следующий код из каталога, который содержит каталог с именем bar
(содержащий один или несколько файлов) и каталог с именем baz
(также содержащий один или несколько файлов) . Убедитесь, что нет каталога с именем foo
.
импорт Shutil Shutil.copytree("bar", "foo") Shutil.copytree("баз", " foo")
Это завершится ошибкой:
$ python copytree_test.py Трассировка (самый последний вызов последним): Файл "copytree_test.py", строка 5, в <модуле> Shutil.copytree("baz", "foo") Файл "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/shutil.py", строка 110, в файле copytree "/System/ Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/os.py", строка 172, в makedirs OSError: [Errno 17] Файл существует: "foo"
Я хочу, чтобы это работало так же, как если бы я набрал:
$ mkdir foo $ cp bar/* foo/ $ cp baz/* foo/
Нужно ли использовать shutil.copy()
для копирования каждого файла из baz
в foo
? (После того, как я уже скопировал содержимое «bar» в «foo» с помощью shutil.copytree()
?) Или есть более простой/лучший способ?