我可以从内部文件夹(子文件)dropbox python下载文件吗?

时间:2018-05-31 07:50:09

标签: python dropbox dropbox-api

嗨,我得到的所有文件夹都是这样的

 entries=dbx.files_list_folder('').entries
   print (entries[1].name)
   print (entries[2].name)

无法在这些文件夹中找到子文件。当我在互联网上搜索但直到现在我找不到任何工作功能。

2 个答案:

答案 0 :(得分:2)

使用files_list_folder(和files_list_folder_continue)列出条目后,您可以检查类型,然后根据需要使用files_download下载,如下所示:

entries = dbx.files_list_folder('').entries

for entry in entries:
    if isinstance(entry, dropbox.files.FileMetadata):  # this entry is a file
        md, res = dbx.files_download(entry.path_lower)
        print(md)  # this is the metadata for the downloaded file
        print(len(res.content))  # `res.content` contains the file data

请注意,此代码示例未使用files_list_folder_continue正确分页,也不包含任何错误处理。

答案 1 :(得分:0)

有两种可能的方法:

您可以将内容写入文件,也可以创建链接(重定向到浏览器或获取可下载链接)

第一种方式:

metadata, response = dbx.files_download(file_path+filename)
with open(metadata.name, "wb") as f:
    f.write(response.content)

第二种方式:

link = dbx.sharing_create_shared_link(file_path+filename)
print(link.url)

如果您希望链接可下载,请将 0 替换为 1

path = link.url.replace("0", "1")