python struct使用

作者: Lee_5566 | 来源:发表于2020-04-24 14:50 被阅读0次
    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

    相关文章

      网友评论

        本文标题:python struct使用

        本文链接:https://www.haomeiwen.com/subject/nhcfwhtx.html