google驱动问题上的递归列表文件

时间:2014-09-08 03:46:06

标签: python google-drive-api

我正在尝试以递归方式列出特定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驱动器中特定文件夹下的子文件夹的所有文件和文件?如果有人可以分享代码,那将会很棒。

提前致谢。

2 个答案:

答案 0 :(得分:1)

如果更改线路怎么办:

list_file(f['id'])

tasks.extend(list_file(f['id']))

答案 1 :(得分:0)

我不是python专家,但我应该在某个时候将list_files内部调用的结果添加到tasks结果变量。