Python Dropbox上载-处理响应
我刚接触Dropbox API,现在正在使用Python 3.6 我正在使用以下名为dropboxupload(不是我自己的)的功能将大文件上载到我的帐户。我只需在代码末尾调用它:Python Dropbox上载-处理响应,python,sdk,upload,response,dropbox,Python,Sdk,Upload,Response,Dropbox,我刚接触Dropbox API,现在正在使用Python 3.6 我正在使用以下名为dropboxupload(不是我自己的)的功能将大文件上载到我的帐户。我只需在代码末尾调用它: import os import sys from tqdm import tqdm import dropbox filenameonly = sys.argv[1] filenamewithextension = sys.argv[2] fullfilepath = sys.argv[3] access_to
import os
import sys
from tqdm import tqdm
import dropbox
filenameonly = sys.argv[1]
filenamewithextension = sys.argv[2]
fullfilepath = sys.argv[3]
access_token = "removedforsecurity"
def dropboxupload(access_token,file_path,target_path,timeout=3600,chunk_size=150 * 1024 * 1024,):
dbx = dropbox.Dropbox(access_token, timeout=timeout)
with open(file_path, "rb") as f:
file_size = os.path.getsize(file_path)
chunk_size = 150 * 1024 * 1024
if file_size <= chunk_size:
print(dbx.files_upload(f.read(), target_path))
else:
with tqdm(total=file_size, desc="Uploaded") as pbar:
upload_session_start_result = dbx.files_upload_session_start(
f.read(chunk_size)
)
pbar.update(chunk_size)
cursor = dropbox.files.UploadSessionCursor(
session_id=upload_session_start_result.session_id,
offset=f.tell(),
)
commit = dropbox.files.CommitInfo(path=target_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()
pbar.update(chunk_size)
dropboxupload(access_token, fullfilepath, "/"+filenamewithextension)
我想做的是捕获这个响应,并在项目的下一步中使用其中的数据作为其他手段
例如,我想将id设置为一个名为“data”的新变量。我已经试过和你一起做这件事了
data = str(dropbox.files.FileMetadata.id)
print ("THE DATA VARIABLE IS")
print(data)
但所有的印刷品都是
THE DATA VARIABLE IS
property object at 0x03A82F60
很明显,我捕捉到的数据是错误的-请你能帮忙吗
谢谢我想你要做的是:
data = dropbox.files.FileMetadata.id()
再次感谢,我在OP之前尝试过了,它仍然显示相同的
数据变量是0x03A82F60处的property object
,我编辑了我的答案。我认为这应该可以解决你的问题:)[交叉链接供参考:]
data = dropbox.files.FileMetadata.id()