使用PyDrive下载特定文件夹中的所有文件

2024-04-25 10:02:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我的谷歌硬盘看起来像这样:

picture1.jpg

song1.mp3

a/b/file1.txt

a/b/file2.txt

a/b/file3.jpg

a/b/file4.m4a

a/b/...

我想用PyDrive下载文件夹“b”中的每个文件。在查看文档并检查StackOverflow之后,我仍然不知道如何做到这一点。如何使用PyDrive下载文件夹“b”(包含在文件夹“a”中)中的所有文件。此外,如果相关,请注意文件夹“b”包含数千个文件


Tags: 文件文档txt文件夹mp3file1file2jpg
1条回答
网友
1楼 · 发布于 2024-04-25 10:02:34

我想出来了。基本上,您需要使用文件id来列出或下载文件夹的内容

假设file_list是根目录:

for file1 in file_list:
    if file1['title'] == '[name_of_target_folder]':
        folder_id = file1['id']

然后

> folder_id 
> 'WIU1xyz19g83abcdefg'

(例如)

获取“文件夹”中的每个文件:

file_list = drive.ListFile({'q': "'{}' in parents and trashed=false".format(folder_id)}).GetList()

下载“文件夹”中的每个文件:

for i, file1 in enumerate(sorted(file_list, key = lambda x: x['title']), start=1):
    print('Downloading {} from GDrive ({}/{})'.format(file1['title'], i, len(file_list)))
    file1.GetContentFile(file1['title'])

相关问题 更多 >