使用python将目录内容复制到目录中

pro*_*eek 64 python shutil copytree

我有一个目录/ a/b/c,它有文件和子目录.我需要复制/ x/y/z目录中的/ a/b/c/*.我可以使用哪些python方法?

我试过shutil.copytree("a/b/c", "/x/y/z"),但python尝试创建/ x/y/z并引发一个error "Directory exists".

pro*_*eek 121

我发现这段代码有效.

from distutils.dir_util import copy_tree

# copy subdirectory example
fromDirectory = "/a/b/c"
toDirectory = "/x/y/z"

copy_tree(fromDirectory, toDirectory)
Run Code Online (Sandbox Code Playgroud)

参考:

  • 请记住,如果你为同一组args调用它两次,copy_tree将失败,并且你在此期间擦除了目标.这是由于mkpath中的路径缓存,请参阅https://bugs.python.org/issue10948 (6认同)
  • 如果您反复将文件夹复制到同一目的地,请勿使用此功能。正如@yacoob 所说,这将以意想不到的方式失败。弄清楚这件事让我很头疼。我再次发表评论以提高其他人的知名度。 (3认同)
  • 仅供参考 pathlib Path 对象破坏了 dir_utils,它希望将路径作为文本。 (3认同)