python struct模块

1)这个模块有啥用?网上搜的下面这坨我大概明白了struct有啥用,这块我也是基本的了解,不能提炼其精华,自己看着理解就好了

----

我们知道python只定义了6种数据类型,字符串,整数,浮点数,列表,元组,字典。但是C语言中有些字节型的变量,在python中该如何实现呢?这点颇为重要,特别是要在网络上进行数据传输的话。python提供了一个struct模块来提供转换。

----

按照指定格式将Python数据转换为字符串,该字符串为字节流,如网络传输时,不能传输int,此时先将int转化为字节流,然后再发送;

按照指定格式将字节流转换为Python指定的数据类型;

处理二进制数据,如果用struct来处理文件的话,需要用’wb’,’rb’以二进制(字节流)写,读的方式来处理文件;

处理c语言中的结构体;

 

2)struct 模块中的函数

>>> from struct import Struct
>>> record_struct = Struct('<idd')
>>> record_struct.size
20
>>> record_struct.pack(1, 2.0, 3.0)
b'\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x08@'
>>> record_struct.unpack(_)
(1, 2.0, 3.0)
>>>

 

3)对齐方式

 

posted @ 2019-04-09 17:32  筱筱的春天  阅读(1146)  评论(1编辑  收藏  举报