python strtuct模块主要在Python中的值于C语言结构之间的转换。可用于处理存储在文件或网络连接(或其它来源)中的二进制数据。
#!/usr/bin/env python # -*- coding:utf-8 -*- # @Time : 2019/07/22 23:57 # @Author : wang huixi # @File : update.py import os import struct ''' 数据格式 名字 职业 年 muyu coder 2018 ''' name = b'muyu' job = b'coder' year = 2018 file = open(r'1.txt', 'rb+') file.write(struct.pack('4s5si', name, job, year)) file.flush() file.seek(0) strBin = file.read() print(strBin) # b'muyucoder\x00\x00\x00\xe2\x07\x00\x00' content = struct.unpack('4s5si', strBin) print(content) # (b'muyu', b'coder', 2018) print struct.pack('>I', 10240099)
struct 最常用的方法有两个:
struct.pack(fmt,v1,v2,…)
返回的是一个字符串,是参数按照fmt数据格式组合而成
struct.unpack(fmt,string)
按照给定数据格式解开(通常都是由struct.pack进行打包)数据,返回值是一个tuple(元组)