打开一个二进制文件,按照每次4字节的方式读取
细节1:python3.x版本判断读取到文件尾需要用if not a: 不能用if a == "":
细节2:fopen.read(4) 一次读4个字节,使用struct.unpack('<I',a)[0]转换成unsigned int类型的值
1.1 struct.pack(fmt,v1,v2,.....)
将v1,v2等参数的值进行一层包装,包装的方法由fmt指定。被包装的参数必须严格符合fmt。最后返回一个包装后的字符串。
1.2 struct.unpack(fmt,string)
顾名思义,解包。比如pack打包,然后就可以用unpack解包了。返回一个由解包数据(string)得到的一个元组(tuple), 即使仅有一个数据也会被解包成元组
示例代码:
V = []
V.clear()
V.append(filename)
with open(filename,'rb') as fopen:
while True:
a = fopen.read(4)
if not a:
break
V.append(struct.unpack('<I',a)[0])