我正在尝试使用shutil.copytree:
shutil.copytree(SOURCE_DIR, TARGET_DIR, ignore=None)
Run Code Online (Sandbox Code Playgroud)
此副本还包含文件夹中的文件.我只需要复制没有任何文件的文件夹.怎么做?
Tha*_*ran 10
您可以通过提供"忽略"功能来实现
def ig_f(dir, files):
return [f for f in files if os.path.isfile(os.path.join(dir, f))]
shutil.copytree(SRC, DES, ignore=ig_f)
Run Code Online (Sandbox Code Playgroud)
基本上,当您调用copytree时,它将递归地转到每个子文件夹,并将该文件夹中的文件列表提供给ignore函数,以根据模式检查这些文件是否合适.被忽略的文件将作为函数末尾的列表返回,然后,copytree将只复制从该列表中排除的项目(在您的情况下,包含当前文件夹中的所有文件)