zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    排序算法比较
    直接选择排序
    静态查找表和动态查找表
    memset函数
    二叉树
    使用vue+Element的Upload+formData实现图片传到SpringBoot,再上传到fastdfs
    vue中的export与export default的区别
    人人开源
    SpringBoot注解
    大厂薪资
  • 原文地址:https://www.cnblogs.com/cmnz/p/6986979.html
Copyright © 2011-2022 走看看