如何解决Python Dropbox-如何在Dropbox中创建目录并上传到该新文件夹?
如何使用Python Dropbox对象在根目录下创建一个新文件夹,然后用数据填充该文件夹?
如何在Python中创建一种方法以将数据发送到Dropbox应用程序中的特定文件夹中?当我运行以下代码时:
def ship_data_to_dbx(job_id,mn):
# ship db and zip and txt to dir for the machine name in dropbox
mn = mn.upper()
# specific db path for the machine
dbx_path = "/" + mn + "/"
db_path = os.path.join(app.root_path,'static/log_files',job_id + ".db")
with open(db_path,"rb") as f:
dbx.files_upload(f.read(),dbx_path,mute=True)
我收到此错误消息:
dropbox.exceptions.ApiError: ApiError('8e663db4b9ae4d00b954f97065393160',UploadError('path',UploadWriteFailed(reason=WriteError('malformed_path',None),upload_session_id='AAAAAAAAAoBUOebujJCC_A')))
谢谢!
解决方法
要使用the official Dropbox API v2 Python SDK通过Dropbox API创建新文件夹,应使用the files_create_folder_v2
method。
要上传文件,可以使用the files_upload
method。
尝试进行此操作时遇到的malformed_path
错误表明您要提供给path
的{{1}}值,在这种情况下,就是您的files_upload
变量,不是预期的格式。
尤其是,虽然没有显示确切的值,但问题似乎在于您的dbx_path
值带有尾随的“ /”,这是不期望的。在Dropbox中指定要上传到的dbx_path
时,您应该包括所需的完整路径,包括任何父路径组件,文件名以及扩展名(如果有)。
例如,如果您的path
变量包含您希望上传的文件具有的文件名,则该行应改为:
mn
或者,如果dbx_path = "/" + mn
是父文件夹,它将看起来像这样,其中mn
包含文件的名称和扩展名:
filename
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。