大数据,机器学习,人工智能人工智能/模式识别/机器学习精华专题机器学习和人工智能入门

python struct使用

2020-04-24  本文已影响0人  Lee_5566
image.png

struct

官方解释:Interpret strings as packed binary data.

具体作用就是用来处理字节流的,类似于c语言的struct.

API函数

struct模块中最重要的三个函数:

函数名 说明
pack(fmt, v1, v2, ...) 按照给定的格式(fmt),把数据封装成字符串(实际上是类似于c结构体的字节流)
unpack(fmt, string) 按照给定的格式(fmt)解析字节流string,返回解析出来的tuple
calcsize(fmt) 计算给定的格式(fmt)占用多少字节的内存
pack_into(fmt,buffer,offset,v1,v2…) 按照给定的格式(fmt),将数据转换成字符串(字节流),并将字节流写入以offset开始的buffer中.(buffer为可写的缓冲区,可用array模块)
pack_from(fmt,buffer,offset) 按照给定的格式(fmt)解析以offset开始的缓冲区,并返回解析结果

支持的格式

image.png

实战

格式的使用:

# -*- coding: utf-8 -*-
import struct
a=1
b=-1
print(struct.pack("h",b))
print(struct.pack("i",b))
image.png

二进制文件读写:

# -*- coding: utf-8 -*-
import struct
a=1000
b=-1000


f=open("111.bin","wb")
f.write(struct.pack("h",a))#对a装包,并写入
f.write(struct.pack("i",b))
f.close()

f=open("111.bin",'rb')
a1=f.read(2)
a2=struct.unpack("h",a1)#解包操作
b1=f.read(4)
b2=struct.unpack("i",b1)
print(a2,b2)
image.png

参考

python之struct详解
struct
python

上一篇 下一篇

猜你喜欢

热点阅读