1

linux-gpib ライブラリを使用してベンチ機器と通信しています。デバイスにバッファからの出力を要求でき、標準出力にストリーミングされます。私は次のようなものを使用します:

import gpib 

gpib.write(16,"FORM3;OUTPDATA;") #FORM3 is binary

data=gpib.read(16,10000)

出力形式がどのようなものかわかりません。データがどのように区切られているか忘れてしまいました。しかし、フロートを取得して配列に入れるには、ある種の scanf 関数を実行する必要があると思います。

numpy をインストールしましたが、python にストリームからフロートを取得して配列に入れるように要求する方法があるはずだと思います。

Google はあまり役に立ちませんでした。numpy は私にとってまったく新しいものです。MATLAB と C コマンドで問題ないことはわかっています。

4

1 に答える 1

1

上記のようにデータを文字列に読み取る場合は、次を使用しますnumpy.fromstring

data = '1 2 3 4 5 6 7 8'
print np.fromstring(data, sep=' ')
# [ 1.  2.  3.  4.  5.  6.  7.  8.]

通常、Python では、より一般的な解析は scanf ではなく正規表現で行われます。Python の sscanf を参照してください

于 2011-06-17T20:27:00.123 に答える