2017-12-12 13 views
0

私はpy_openshowvarというライブラリを使用して、メロッコのクッカロボットアームと通信します。GhPython対Python:TypeErrorException(シェルからではなくGHから)

コマンドラインのpythonシェルからプログラムを実行するとすべてうまく動作します。私はGhPythonで例外を取得する理由

<code>TypeErrorException</code>

わからないが、私はGH環境の外でそれを実行していないとき:私はGhPythonから同じことを実行したときしかし、私は次の取得します。プログラムは引き続きサーバーに接続し、必要な情報を取得/送信しますが、この例外を確実に確認して対処したいと考えています。

ありがとうございます!

答えて

0

エラーを修正する方法を説明するのは難しいが、実際にはGHPythonがIronPython(.Netに基づくPythonの実装)であるという事実から来ているのに対し、PythonシェルはC言語で書かれた実装です。

2つの実装は似ていますが、違いが生じることがあります。

あなたのケースでは、スクリプトはstringまたはtupleを期待していますが、IronPython.Runtime.Bytesを取得しています。

0

ええと、strがユニコード文字列のように見えるときにバイトが得られます。バイト文字列の問題です。あなたはCPythonとGHPythonのバージョンが何であるかは記述しませんが、Python 2の文字列はバイト文字列であり、Python 3の文字列はUnicode文字列です。

文字列をUnicodeにする場合は、uを付けてください。u"foo"はUnicode文字列です。 デコードユニコードバージョンのバイト文字列:b'ae\xe9\xe8'.decode('Latin1')はユニコード文字列ですu'aeéè'