python3-基于树输出创建文件夹结构

python3-基于树输出创建文件夹结构,python,python-3.x,google-drive-api,Python,Python 3.x,Google Drive Api,我正在使用Python提取Google Drive帐户的文件夹树,但我一直在研究如何使用os.makedirs 下面的函数当前正确输出树(我使用缩进检查)。这就是Google Drive帐户的文件夹结构 def tree_folder_contents(items_array, folder_id, indent): for item in items_array: if item['parents']: for parent in item['p

我正在使用Python提取Google Drive帐户的文件夹树,但我一直在研究如何使用
os.makedirs

下面的函数当前正确输出树(我使用缩进检查)。这就是Google Drive帐户的文件夹结构

def tree_folder_contents(items_array, folder_id, indent):
    for item in items_array:
        if item['parents']:
            for parent in item['parents']:
                if folder_id == parent:
                    if item['mimeType'] == 'application/vnd.google-apps.folder':
                        print('     ' * indent + item['name'] + ' (indent: ' + str(indent) + ')')
                        tree_folder_contents(items_array, item['id'], indent+1)
树输出:

Folder_1 (indent: 0)
Folder_2 (indent: 0)
     Folder_2_1 (indent: 1)
          Folder_2_1_1 (indent: 2)
          Folder_2_1_2 (indent: 2)
          Folder_2_1_3 (indent: 2)
          Folder_2_1_4 (indent: 2)
Folder_3 (indent: 0)
     Folder_3_1 (indent: 1)
          Folder_3_1_1 (indent: 2)
Folder_4 (indent: 0)
Folder_5 (indent: 0)

如何将
os.makedirs
集成到
tree\u folder\u contents
中,以便在本地创建该文件夹结构?

我添加了一个新参数
folder\u path
并使用
dest\u path=folder\u path+item['name']行创建文件夹

这是完整的代码:

def tree_folder_contents(items_array, folder_id, folder_path, indent):
    for item in items_array:
        if item['parents']:
            for parent in item['parents']:
                if folder_id == parent:
                    if item['mimeType'] == 'application/vnd.google-apps.folder':
                        dest_path = folder_path + item['name'].replace( '/', '_' ) + '/'

                        if not os.path.exists(dest_path):
                            os.makedirs(dest_path)

                        print('     ' * indent + item['name'] + ' (indent: ' + str(indent) + ')')
                        tree_folder_contents(items_array, item['id'], dest_path, indent+1)

在第一次运行
目录树文件夹内容时,
文件夹路径
是将在其中创建所有帐户文件夹的主目录。

我添加了一个新参数
文件夹路径
,我正在使用
dest\u路径=文件夹路径+项目['name']
行创建文件夹

这是完整的代码:

def tree_folder_contents(items_array, folder_id, folder_path, indent):
    for item in items_array:
        if item['parents']:
            for parent in item['parents']:
                if folder_id == parent:
                    if item['mimeType'] == 'application/vnd.google-apps.folder':
                        dest_path = folder_path + item['name'].replace( '/', '_' ) + '/'

                        if not os.path.exists(dest_path):
                            os.makedirs(dest_path)

                        print('     ' * indent + item['name'] + ' (indent: ' + str(indent) + ')')
                        tree_folder_contents(items_array, item['id'], dest_path, indent+1)
在第一次运行
目录树文件夹内容时,
文件夹路径
是将在其中创建所有帐户文件夹的主目录