python3-基于树输出创建文件夹结构
我正在使用Python提取Google Drive帐户的文件夹树,但我一直在研究如何使用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
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)
在第一次运行目录树文件夹内容时,文件夹路径
是将在其中创建所有帐户文件夹的主目录