3

2 バイトの float で構成されるバイナリ ファイルを読み込もうとしていますが、必要な値を取得できないようです。struct.unpack は 4 バイトのフロートでしか機能しないようで、キャストを完全に手動で行う以外に他に何が利用できるかわかりません。これを行う方法はありますか?どんな助けでも大歓迎です。

4

2 に答える 2

11

あなたはすでにほとんどの方法を手に入れましたnumpy.fromfile. 代わりに次を使用しますnumpy.frombuffer

>>> np.frombuffer(buffer("\0\0"), dtype=np.float16)[0]
0.0
>>> np.frombuffer(buffer("\x00\x3c"), dtype=np.float16)[0]
1.0

データに既知の形式がある場合は、適切なレイアウトで dtype を作成することで構造体を解析できます。

于 2012-06-25T14:28:34.990 に答える