我正在努力找到解决我的代码运行的机器是big-endian还是little-endian的最佳方法.我有一个有效的解决方案(虽然我没有在大端机器上测试它)但它看起来有点笨重:
import struct little_endian = (struct.pack('@h', 1) == struct.pack('这只是将"本机"双字节包与little-endian包进行比较.有更漂亮的方式吗?
1> Scott Griffi..:答案在sys模块中:
>>> import sys >>> sys.byteorder 'little'当然,根据您的机器,它可能会返回
'big'
.你的方法当然也应该有效.
是的,在powerpc上它说`>>> sys.byteorder'big'`