gpt4 book ai didi

python - Dropbox Python API : Uploading a file

转载 作者:太空宇宙 更新时间:2023-11-03 15:18:11 26 4
gpt4 key购买 nike

[编辑]

此问题已得到解答,我不接受任何新答案。

[编辑结束]

注意:在不同的编程语言中都存在这样的问题,但它们并没有解决专门针对 Python 的 dropbox 库(或者至少我可以没有找到任何这样做的),这就是我创建这个问题的原因。

我想知道如何使用 Python 2.7 中的 dropbox 库将文件上传到我的 Dropbox 并读回​​文件。

我已成功连接到我的 Dropbox,并且 Dropbox 对象称为 db。

如果有人知道如何执行此操作,请编写包含方法调用和参数的答案,或者如果这是重复的问题,请使用链接进行评论。

提前谢谢您!

最佳答案

Dropbox Python SDK提供 API v1 和 API v2 功能以实现向后兼容性,但现在只应使用 API v2,因为 API v1 是 deprecatedtutorial涵盖使用 API v2 功能的基础知识。

<小时/><小时/>

这使用 Dropbox Python SDK从远程路径的 Dropbox API 下载文件 /Homework/math/Prime_Numbers.txt到本地文件Prime_Numbers.txt :

import dropbox
dbx = dropbox.Dropbox("<ACCESS_TOKEN>")

with open("Prime_Numbers.txt", "wb") as f:
metadata, res = dbx.files_download(path="/Homework/math/Prime_Numbers.txt")
f.write(res.content)

<ACCESS_TOKEN>应替换为您的访问 token 。

<小时/><小时/>

上传:

这使用 Dropbox Python SDK将文件从 file_path 指定的本地文件上传到 Dropbox API到 dest_path 指定的远程路径。它还根据文件的大小选择是否使用上传 session :

f = open(file_path)
file_size = os.path.getsize(file_path)

CHUNK_SIZE = 4 * 1024 * 1024

if file_size <= CHUNK_SIZE:

print dbx.files_upload(f.read(), dest_path)

else:

upload_session_start_result = dbx.files_upload_session_start(f.read(CHUNK_SIZE))
cursor = dropbox.files.UploadSessionCursor(session_id=upload_session_start_result.session_id,
offset=f.tell())
commit = dropbox.files.CommitInfo(path=dest_path)

while f.tell() < file_size:
if ((file_size - f.tell()) <= CHUNK_SIZE):
print dbx.files_upload_session_finish(f.read(CHUNK_SIZE),
cursor,
commit)
else:
dbx.files_upload_session_append(f.read(CHUNK_SIZE),
cursor.session_id,
cursor.offset)
cursor.offset = f.tell()

f.close()

关于python - Dropbox Python API : Uploading a file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43709247/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com