我对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
我不希望它复制所有这些父文件夹。我只想要从指定来源开始的树。
我知道这似乎很简单,但是我似乎找不到解决方法。
答案 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)