python 在64位系统和32位系统数据类型的大小不同问题。
康斯坦汀 2010-11-16 02:56:30 一段代码,读二进制文件,转换到数据结构,在32位下正常,在64位下报错,想来应该是64位数据类型
大小的问题。
代码大概如下:
Format = 'lllllfll'
f = open('test.dat','rb')
data = f.read(32)
s=[]
s.append(struct.unpack(Format,data))
最后一句32位下正常,64位下报:“struct.error: unpack requires a string argument of length 64”
改成
data = f.read(64)
仍然是这个错。
请问:
1 如何获得 lllllfll 的正确长度?
2 正确长度是?
刚接触python,就被要求移植32位代码。谢指点。