2014-09-08 5 views
0

Я пытаюсь рекурсивно список всех файлов и папок в определенной папке на Google Дискерекурсивный список файлов на проблемы 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') 

и проблема в том, что он будет возвращать только список файлов и папок непосредственно под идентификатор конкретной папки, а не подпапки и файлы в подпапках.

Кто-нибудь знает, как я должен исправить свой код, чтобы он работал? Спасибо

или есть ли лучший способ перечислить все файлы и файлы подпапок под определенной папкой на Google Диске, используя свой API? было бы здорово, если бы кто-то мог поделиться кодом.

Заранее спасибо.

ответ

1

Что делать, если вы измените строку:

list_file(f['id']) 

к

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

это работает !!! Большое спасибо – tesla2020

0

Я не эксперт по python, но я должен в какой-то момент добавить результат ваших внутренних вызовов к list_files в переменную результата tasks.

+0

Я думаю, что я получил его спасибо – tesla2020

Смежные вопросы