【问题标题】:Uploading Python object with Dropbox API and Pickle使用 Dropbox API 和 Pickle 上传 Python 对象
【发布时间】:2020-07-30 20:49:26
【问题描述】:

我不确定如何将 Python Results 对象上传到我的 Dropbox。我不能将 dbx.file_upload 与 pickle 一起使用,或者直接尝试上传它。我该怎么办?

尝试 1:

with open('StochOutput', 'wb') as output_file:
    dbx.files_upload(pickle.dump(output, output_file),'StochOutput')

尝试 2:

dbx.files_upload(output, 'StockOutput')

两者都有,我收到以下错误:

dropbox.stone_validators.ValidationError: 'StockOutput' 不匹配模式 '(/(.|[\r\n]))|(ns:[0-9]+(/. )?)|(id:.*)'

  1. Python 对象的扩展应该是什么?
  2. 我应该如何编码?

【问题讨论】:

  • 澄清一下,除了酸洗的问题和如何处理数据本身,这里实际的原始ValidationError 错误消息只是指'StockOutput'的格式,在files_upload 的第二个参数,它应该是您要在 Dropbox 中上传文件的远程路径,它应该以“/”开头,所以它应该看起来像 '/StockOutput',或者你想要的任何扩展名,比如 @ 987654327@.

标签: python object file-upload pickle dropbox


【解决方案1】:

保存的泡菜可以有任何你喜欢的扩展名。

对于您的代码,试试这个:

dbx.files_upload(output, '/StockOutput.ext')

其中 ext 是您选择的扩展

【讨论】:

  • 所以,它现在会导致不同的错误。 TypeError: 预期 request_binary 为二进制类型,得到
  • 请说明“输出”变量是如何创建的
  • “输出”是包运行的最终结果。输出 = gillespy2.Results(data=[])
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-07
  • 2023-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-27
相关资源
最近更新 更多