【发布时间】:2020-11-05 12:01:30
【问题描述】:
我需要制作一个文件夹及其所有子文件夹的副本,但不要在目录中包含任何文件。
在 Python 中,我使用 os.walk 函数在目录中自上而下处理大量子文件夹中的大量图像。我想制作这个文件夹树的精确副本(os.walk 函数通过)并将它放在我指定的不同目录中。这是为了让我可以将输出图像保存在它们来自的文件夹的等效副本中。
我试过了:
from distutils.dir_util import copy_tree
copy_tree("/a/b/c", "/x/y/z")
但不知道如何将其编辑为我想要的。如何使用 python 命令将空文件夹树复制到我选择的目录?
我应该使用 shutil.copytree 命令还是应该在 for 循环中放入一些东西来处理图像或其他东西?
【问题讨论】:
-
也许在您编写文件时创建输出目录会更容易,例如使用
os.makedirs(..., exist_ok=True)。 -
同意马修。我也是这么想的。我个人可能会在您的 os.walk() 循环中编写代码,这样您只需在需要时创建目标目录,而不是预先创建所有目录。但是,如果在调用代码之前目标目录不存在,我发布了一个适用于 python 3.8 和以前版本的答案
-
您提到在 os.walk() 循环中有代码,目标目录是在需要时创建的。在我的循环上下文中会是什么样子? (我是否直接将
os.makedirs(..., exist_ok=True)复制并粘贴到特定位置的循环中?) -
是的,这绝对是我想要的!谢谢你们!如果您需要
os.makedirs(..., exist_ok=True)的帮助,那么此链接可能会有所帮助:geeksforgeeks.org/python-os-makedirs-method
标签: python directory copy directory-structure directory-tree