如何仅复制包含所有子文件夹的路径的结构(不包括文件(?
例如
path1subfolder1subsubfolder1
subsubfolder2
subfolder2subsubfolder1
subsubfolder2
复制到
path2subfolder1subsubfolder1
subsubfolder2
subfolder2subsubfolder1
subsubfolder2
我需要这个,因为我正在从 path1 加载泡菜并计算一些东西。保存需要到新路径,以便我可以比较更改。 已经用path1.split('/')
尝试过了,但这仅在 path1 没有更改时才有效,因此如果我想更改泡菜,我需要每次更改它以进行新的计算。
您可以使用os.walk
以递归方式搜索给定路径的所有子文件夹。 然后,对于找到的每个子文件夹,您可以将输入路径替换为输出路径,并使用os.makedirs
创建文件夹(如果它们尚不存在(。
import os
def copy_folder_structure(input_dir, output_dir):
all_subfolders = [x[0] for x in os.walk(input_dir)]
for folder in all_subfolders:
output_folder = folder.replace(input_dir, output_dir)
if not os.path.exists(output_folder):
os.makedirs(output_folder)
copy_folder_structure("path1", "path2")