发布时间:2019-09-04 06:54:25编辑:auto阅读(2217)
在xlrd sheet.lib里面,有这么一段
传进来的rk_str是bytes。
在python2.x里面,string和bytes会自动转换,所以 '/0/0/0/0' + chr(flags & 252) + rk_str[1:4] 这样的bytes和string混合连接的语句没有问题,最后还会自动转换成bytes传递给unpack使用。
但是在Python3里面已经取消了这样的隐含转换,所以必须手动将所有东西转换成bytes再进行连接,修改后变成 d, =unpack('<d', b'/0/0/0/0' + pack('<i',flags & 252)[0:1] + rk_str[1:4])
另外,pack返回的是一个bytes。假设为ret, 如果取ret[0],得到的是一个int。使用ret[0:2]才能获得一个bytes。
上一篇: python写入二进制文件
下一篇: python 线程池threadpool
51559
51132
41657
38413
32901
29875
28593
23553
23484
21831
1981°
2684°
2246°
2177°
2625°
2193°
2942°
4872°
4700°
3347°