Python_struct模块操作二进制文件
2024-09-27 11:32:39
'''
使用struct模块写入二进制文件
'''
import struct
n=130000000
x=96.45
b=True
s='a1@中国'
sn=struct.pack('if?',n,x,b) #序列化,i表示整数,f表示实数,?表示逻辑值
f=open('sample_struct.dat','wb')
f.write(sn)
f.write(s.encode()) #字符串需要编码为字节串再写入文件
f.close() '''
使用struct模块读取二进制文件的内容
'''
import struct
f=open('sample_struct.dat','rb')
sn=f.read(9)
tu=struct.unpack('if?',sn) #使用指定格式反序列化
print(tu)
print('n=',n,'x=',x,'b=',b)
s=f.read(9)
s=s.decode() #字符串解码
print('s=',s) #字符串解码 '''
读取字节的长度
'''
import struct
st=struct.pack('if?',13000,56.0,True)
print(len(st))
x='a1@中国'
print(len(x.encode()))
#输出的结果 (130000000, 96.44999694824219, True)
n= 130000000 x= 96.45 b= True
s= a1@中国
9
9
最新文章
- Hive 窗口函数、分析函数
- 高效使用你的Xcode
- H5 Canvas刮刮乐
- fdtd simulation, plotting with gnuplot, writting in perl
- vagrant up时提示 Authentication failure. Retrying
- mac 下 sublime text 运行c++/c 不能使用scanf/cin
- Android Service 详解
- HDU 1429 胜利大逃亡(续)(DP + 状态压缩)
- CSU 1803 2016
- CSS之浏览器默认样式设置
- MyEclipse10激活方法
- [AH/HNOI2017]影魔
- pythonのsqlalchemy多对多关系
- Do-Now—团队Scrum 冲刺博客二
- java.lang.NumberFormaException: For input String:";user";
- React-Native: bios打开VT-x选项
- MySQL千万级数据库查询怎么提高查询效率
- python学习笔记七——字典
- (转)Linux下设置和查看环境变量
- QT中实现应用程序的单例化