我正在尝试以递归方式列出特定Google云端硬盘文件夹中的所有文件和文件夹
def list_file(parent):
result = service.files().list(q= "'%s' in parents and trashed=false" % parent).execute(http=decorator.http())
tasks = result.get('items', [])
for f in tasks:
if f['mimeType'] == 'application/vnd.google-apps.folder':
list_file(f['id'])
return tasks
tasks = list_file('the specific folder ID')
问题是它只返回特定文件夹ID下的文件和文件夹列表,而不是子文件夹和子文件夹中的文件。
有谁知道我应该如何修复我的代码以使其工作?谢谢
或者是否有更好的方法使用其API列出google驱动器中特定文件夹下的子文件夹的所有文件和文件?如果有人可以分享代码,那将会很棒。
提前致谢。
答案 0 :(得分:1)
如果更改线路怎么办:
list_file(f['id'])
到
tasks.extend(list_file(f['id']))
答案 1 :(得分:0)
我不是python专家,但我应该在某个时候将list_files
内部调用的结果添加到tasks
结果变量。