【问题标题】:CURL - Writing to a file in PythonCURL - 在 Python 中写入文件
【发布时间】:2019-10-02 20:37:10
【问题描述】:

我正在开发一个项目,使用 Python 脚本使用 this 教程将 .sldprt 文件转换为 .obj。本教程的最后一部分处理将转换后的文件从伪造服务器下载到本地计算机。这可以使用以下命令行命令轻松完成

sudo curl -X "GET" -H "Authorization: Bearer $TOKEN" -v "https://developer.api.autodesk.com/modelderivative/v2/designdata/$SURN/manifest/$OURN" -o $OUTFILE

$TOKEN 是访问令牌,$OURN 是输出文件 URN,$OUTFILE 是输出文件名。

为了用 python 脚本完成同样的事情,我尝试了以下方法

### Downloaded the converted file
url =  BASE_URL + 'modelderivative/v2/designdata/' + urn + '/' + OURL
headers = {
'Authorization' : 'Bearer ' + ACCESS_TOKEN
}
with open(OUTPUT_FILE, 'w+') as f:
    r = requests.get(url, headers=headers, data=f)

但是,输出文件总是零字节

谁能指导我如何使用 Python 脚本完成同样的事情?

【问题讨论】:

    标签: python curl file-io autodesk-forge


    【解决方案1】:

    从您的请求中删除 data=f 并在之后执行 f.write(r.text)

    【讨论】:

      【解决方案2】:

      您似乎没有在写入文件。试试这个,

      ### Downloaded the converted file
      url =  BASE_URL + 'modelderivative/v2/designdata/' + urn + '/' + OURL
      headers = {
      'Authorization' : 'Bearer ' + ACCESS_TOKEN
      }
      with open(OUTPUT_FILE, 'w+') as f:
          r = requests.get(url, headers=headers, data=f)
          f.write(r.json())
      

      【讨论】:

      • 感谢您的回答,但我收到以下错误:raise ValueError("No JSON object could be decoded") ValueError: No JSON object could be decoded
      • 而不是 r.json() 只需使用 r.text
      猜你喜欢
      • 1970-01-01
      • 2014-05-27
      • 2016-06-04
      • 2015-09-10
      • 2018-07-30
      • 2021-08-30
      • 1970-01-01
      相关资源
      最近更新 更多