python - 通过 dropbox APi 进行文件迁移

标签 python dropbox dropbox-api

我正在使用 Dropbox API 将大量文件从一个 Dropbox 帐户迁移到另一个帐户。每个文件似乎需要 2 到 7 秒的时间。有什么方法可以加快使用 Dropbox API 移动文件的速度吗?

source = dropbox.Dropbox('connectionstring')
target = dropbox.Dropbox('connectionstring')

list_folder = source.files_list_folder('')
while list_folder:
    files = re.findall(r'name=[\'"]?([^\'" >]+)', str(list_folder))
    for f in files:
        source.files_download_to_file(f,'')
        files = open(f,mode='rb')
        target.files_upload(files.read(),'')
        files.close()
        os.remove(f)
    list_folder = source.files_list_folder_continue(list_folder.cursor)

最佳答案

是的,您可以使用“复制引用”直接在帐户之间复制文件或文件夹,而无需下载和重新上传文件。这些字符串用于标识一个帐户中的内容,可用于将该内容复制到另一个帐户。

要从源帐户获取文件或文件夹的复制引用,请使用/2/files/copy_reference/get:

https://www.dropbox.com/developers/documentation/http/documentation#files-copy_reference-get

要使用这些复制引用来保存目标帐户中的文件或文件夹,请使用/2/files/copy_reference/save:

https://www.dropbox.com/developers/documentation/http/documentation#files-copy_reference-save

或者,如果您由于某种原因无法使用复制引用,请务必查看 the Data Ingress Guide有关如何更有效地上传文件的信息。

关于python - 通过 dropbox APi 进行文件迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51069637/

相关文章:

python - 为什么 Pylint 反对单字符变量名?

python - 无效路径,不允许使用反斜杠

ios - 将文件上传到 Dropbox 中的特定文件夹

ios - 如何使用 iOS 核心 API 获取 dropbox 文件夹中存在的视频 url

android - 使用 dropbox sync API 的 android 应用程序可以使用本地安装的 dropbox 官方应用程序的缓存、文件系统和文件吗?

python - 如何用另一种方法实现mysql left join?

python - 如何使用\r (Python) 替换上一行中的字符串

java - 有没有适用于 java 的 Dropbox Sync 库?

javascript - 数据表对象在函数内部不可用

python - 如何从 python 中的字符串变量创建原始字符串?