0

私のbinファイルのデータ配置は01 02 03 04. を読んだ後、

data X = numpy.fromfile(   ,dtype=uint32)

X は次のようになります。

04 03 02 01... 

また、 のXよう01 02 03 04...に を使ってファイルに書き込むとX.tofile()、ファイルの内容は になり04 03 02 01ます。

配列を同じ順序で取得できるように、配列を作成してロードする必要があります。問題が何であるかについてのアイデアはありますか?

4

1 に答える 1

3

リトルエンディアン プロセッサを使用しているため、バイト オーダーが異なります。私は numpy ユーザーではありませんが、試してみてください。

>>> hex(numpy.fromfile('1.txt', dtype=numpy.dtype('>u4')))
'0x1020304L'
>>>

データ型オブジェクト (dtype)をもっと見る、ちなみに、データは変更されませんでした。

>>> # we stored 01 02 03 04
>>> numpy.uint32(0x01020304).tofile('1.txt')
>>>
>>> # we see 04 03 02 01
>>> open('1.txt', 'r').read()
'\x04\x03\x02\x01'
>>>
>>> # when you load it, it's the same data
>>> hex( numpy.fromfile('1.txt', dtype=numpy.uint32) )
'0x1020304L'
>>>
于 2013-08-24T07:29:56.260 に答える