在我的 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
.
我需要以能够以相同顺序获取它们的方式编写和加载数组,关于问题可能是什么的任何想法?
在我的 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
.
我需要以能够以相同顺序获取它们的方式编写和加载数组,关于问题可能是什么的任何想法?
您使用 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'
>>>