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(元組)
