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

您使用 little-endian 处理器,因此字节顺序会有所不同,我不是 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 回答