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脚本和终端命令的输出不一致的主要内容,如果未能解决你的问题,请参考以下文章

从 OSX 命令行访问(forge 环境)的问题

Python运行多个提示命令终端

终端直接执行py文件,不需要python命令

运行 Python 脚本后终端混乱(不显示新行)

笨方法学python

有没有办法用Python发送命令到终端应用程序