Python_struct模块操作二进制文件
1 ''' 2 使用struct模块写入二进制文件 3 ''' 4 import struct 5 n=130000000 6 x=96.45 7 b=True 8 s='a1@中国' 9 sn=struct.pack('if?',n,x,b) #序列化,i表示整数,f表示实数,?表示逻辑值 10 f=open('sample_struct.dat','wb') 11 f.write(sn) 12 f.write(s.encode()) #字符串需要编码为字节串再写入文件 13 f.close() 14 15 ''' 16 使用struct模块读取二进制文件的内容 17 ''' 18 import struct 19 f=open('sample_struct.dat','rb') 20 sn=f.read(9) 21 tu=struct.unpack('if?',sn) #使用指定格式反序列化 22 print(tu) 23 print('n=',n,'x=',x,'b=',b) 24 s=f.read(9) 25 s=s.decode() #字符串解码 26 print('s=',s) #字符串解码 27 28 ''' 29 读取字节的长度 30 ''' 31 import struct 32 st=struct.pack('if?',13000,56.0,True) 33 print(len(st)) 34 x='a1@中国' 35 print(len(x.encode()))
#输出的结果
(130000000, 96.44999694824219, True)
n= 130000000 x= 96.45 b= True
s= a1@中国
9
9
分类:
Python
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· 用 DeepSeek 给对象做个网站,她一定感动坏了
· DeepSeek+PageAssist实现本地大模型联网
· 手把手教你更优雅的享受 DeepSeek
· Java轻量级代码工程
· 从 14 秒到 1 秒:MySQL DDL 性能优化实战