Forge - python脚本和终端命令的输出不一致
Posted
技术标签:
【中文标题】Forge - python脚本和终端命令的输出不一致【英文标题】:Forge - inconsistent output from python script and terminal command 【发布时间】:2019-10-01 21:48:14 【问题描述】:我正在按照this 教程将 .sldprt 转换为 .obj 文件。我想使用 python 脚本完成这个转换,我在网上找到了一个script,它完成了这个操作,并将文件上传到服务器并开始转换。在教程的第 3 步(验证作业是否完成)中,当我在命令行中键入以下命令时:
curl -X 'GET' -H 'Authorization: Bearer MYTOKEN' -v 'https://developer.api.autodesk.com/modelderivative/v2/designdata/MYURN/manifest'
我得到了适当的回应(见下图):
但是,从 Python 脚本执行相同的操作会得到以下输出:
我的 Python 脚本如下:
### Verify if translation is complete and get the outURN
url = BASE_URL + 'modelderivative/v2/designdata/' + urn + '/manifest'
headers =
'Authorization' : 'Bearer ' + ACCESS_TOKEN
r = requests.get(url, headers=headers)
content = eval(r.content)
print("==========================================")
print(content)
print("==========================================")
我不知道两者之间有什么区别(终端命令和 python 脚本给出的命令)。谁能指出这里的问题是什么?
【问题讨论】:
不要做eval(r.content)
。见***.com/questions/1832940/…
【参考方案1】:
或者更好的是,收听extraction.finished 事件,它会在翻译完成时发出通知。
【讨论】:
【参考方案2】:我相信在开始转换后我必须暂停一段时间,以便让云有时间将 .sldprt 转换为 .stl。解决方案是不断轮询 'status' 键,仅当状态从 'pending' 变为 'success' 时才继续
【讨论】:
以上是关于Forge - python脚本和终端命令的输出不一致的主要内容,如果未能解决你的问题,请参考以下文章