python struct pack解析_python struct.pack() 二进制文件,文件中打包二进制数据的存储与解析...

学习Python的过程中,遇到一个问题,在《Python学习手册》(也就是《learning python》)中,元组、文件及其他章节里,关于处理二进制文件里,有这么一段代码的处理:

>>>F=open('data.bin','wb')

>>>import struct

>>>data=struct.pack('i4sh',7,'spam',8)

>>>data

b'\x00\x00\x00\x07spam\x00\x08'

>>>F.write(data)\

>>>F.close()

实际上,无论是在python 2.x 或 3.x中,执行第三步data=struct,pack(...)时,输出会报错,报错:

Traceback (most recent call last):

File "", line 1, in

data=struct.pack('>i4sh',7,'spam',8)

struct.error: argument for 's' must be a bytes object

查看帮助文档,可以看到介绍:

ructstruct.pack(fmt, v1, v2, ...)

Return a bytes object containing the values v1, v2, � packed according to the for

你可能感兴趣的:(python,struct,pack解析)