如何在不复制父文件路径的情况下使用shutil.copytree?

时间:2019-06-19 21:53:09

标签: python shutil

我对Python还是很陌生,并且正在通过使用Python自动完成无聊的书中的一些练习进行工作。我正在学习如何使用Python组织文件。我对使用shutil.copytree()时会发生的事情感到困惑。使用它时,它会将源文件夹及其文件路径中的每个父文件夹复制到我的目的地,但是我不希望父文件夹。


我有两个目录:

目录1:/Users/myname/f1/f2/f3/f4/f5

目录2:/Users/myname/fALPHA/fBETA/fCHARLIE/fDELTA


我想将所有从f3开始的内容复制到fDELTA文件夹中。我希望新目录看起来像这样:

/Users/myname/fALPHA/fBETA/fCHARLIE/fDELTA/f3/f4/f5


我当前的代码是这样:

shutil.copy('/Users/myname/f1/f2/f3','/Users/myname/fALPHA/fBETA/fCHARLIE/fDELTA')

但是,我最终得到的是:

/Users/myname/fALPHA/fBETA/fCHARLIE/fDELTA/Users/myname/f1/f2/f3/f4/f5

我不希望它复制所有这些父文件夹。我只想要从指定来源开始的树。

我知道这似乎很简单,但是我似乎找不到解决方法。

1 个答案:

答案 0 :(得分:0)

如@ Ic74所评论,您所缺少的是“ fDELTA”文件夹下目标目录的名称,

from shutil import copytree
from_path = "/Users/myname/f1/f2/f3"
to_path = "/Users/myname/fALPHA/fBETA/fCHARLIE/fDELTA/f3"
copytree(from_path,to_path)