0

我正在使用一个名为py_openshowvar与来自蚱蜢的 Kuka 机械臂进行通信的库。

如果我从命令行 python shell 运行程序,一切正常。但是,当我从 GhPython 运行相同的东西时,我得到以下信息:

<code>TypeErrorException</code>

不知道为什么我会得到 GhPython 的异常,但当我在 GH 环境之外运行它时却没有。该程序仍然连接到服务器并检索/发送我需要的信息,但我想确保并解决这个异常。

谢谢!

4

2 回答 2

0

嗯,当期望 str 看起来像 unicode 字符串与字节字符串问题时得到字节。您没有描述 CPython 和 GHPython 的版本是什么,但您应该知道 Python 2 字符串是字节字符串,而 Python 3 是 unicode 字符串。

u如果在 Python 2 中,您可以通过在它前面加上:u"foo"是一个 unicode 字符串来强制一个 litteral 字符串为unicode。您还可以将字节字符串解码为其 unicode 版本:b'ae\xe9\xe8'.decode('Latin1')是 unicode 字符串u'aeéè'

于 2017-12-19T18:55:46.983 回答
0

很难告诉您如何修复错误,因为您没有提供触发它的代码,但实质上它来自 GHPython 是 IronPython(基于 .Net 的 Python 实现)而 Python Shell 是一个实现用 C 写的。

这两个实现是相似的,但你有时会遇到不同。

在您的情况下,脚本需要一个stringortuple但得到一个IronPython.Runtime.Bytes.

于 2017-12-19T14:00:34.703 回答