python保存bin文件,pythonbin文件处理

更新时间:2023-07-19 04:18:25 阅读: 评论:0

python保存bin⽂件,pythonbin⽂件处理
1. 基础知识掌握
bin⽂件: open函数创建file对象
打开⽂件的不同模式:例⼦:open(“”,‘r’)
模式  描述
r  以只读⽅式打开⽂件。⽂件的指针将会放在⽂件的开头。这是默认模式。
rb  以⼆进制格式打开⼀个⽂件⽤于只读。⽂件指针将会放在⽂件的开头。这是默认模式。
r+  打开⼀个⽂件⽤于读写。⽂件指针将会放在⽂件的开头。
rb+  以⼆进制格式打开⼀个⽂件⽤于读写。⽂件指针将会放在⽂件的开头。
w  打开⼀个⽂件只⽤于写⼊。如果该⽂件已存在则将其覆盖。如果该⽂件不存在,创建新⽂件。
wb  以⼆进制格式打开⼀个⽂件只⽤于写⼊。如果该⽂件已存在则将其覆盖。如果该⽂件不存在,创建新⽂件。
w+  打开⼀个⽂件⽤于读写。如果该⽂件已存在则将其覆盖。如果该⽂件不存在,创建新⽂件。
wb+  以⼆进制格式打开⼀个⽂件⽤于读写。如果该⽂件已存在则将其覆盖。如果该⽂件不存在,创建新⽂件。
a  打开⼀个⽂件⽤于追加。如果该⽂件已存在,⽂件指针将会放在⽂件的结尾。也就是说,新的内容将会被写⼊到已有内容之后。如果该⽂件不存在,创建新⽂件进⾏写⼊。
ab  以⼆进制格式打开⼀个⽂件⽤于追加。如果该⽂件已存在,⽂件指针将会放在⽂件的结尾。也就是说,新的内容将会被写⼊到已有内容之后。如果该⽂件不存在,创建新⽂件进⾏写⼊。
a+  打开⼀个⽂件⽤于读写。如果该⽂件已存在,⽂件指针将会放在⽂件的结尾。⽂件打开时会是追加模式。如果该⽂件不存在,创建新⽂件⽤于读写。
ab+  以⼆进制格式打开⼀个⽂件⽤于追加。如果该⽂件已存在,⽂件指针将会放在⽂件的结尾。如果该⽂件不存在,创建新⽂件⽤于读写。
t  ⽂本默认
x  写模式,新建⼀个⽂件,如果该⽂件存在,则会报错。
b  ⼆进制模式
+  打开⼀个⽂件进⾏更新(可读可写)。
bin⽂件的python struct库 读写属性
a = struct.pack('B',0x00)
b = struct.unpack(‘B’,a)
这块可以使⽤python编译的看⼀下哦!(你就明⽩了)
1. struct.pack⽤于将Python的值根据格式符,转换为字符串(因为Python中没有字节(Byte)类型,
可以把这⾥的字符串理解为字节流,或字节数组)。其函数原型为:struct.pack(fmt, v1, v2, ...),
参数fmt是格式字符串,关于格式字符串的相关信息在下⾯有所介绍。v1, v2, ...表⽰要转换的python值。
2. struct.unpack做的⼯作刚好与struct.pack相反,⽤于将字节流转换成python数据类型。它的
函数原型为:struct.unpack(fmt, string),该函数返回⼀个元组
Format  C Type  Python  字节数
x  pad byte  no value  1
c  char  string of length 1  1
b  signed char  integer  1
B  unsigned char  integer  1
  _Bool  bool  1
h  short  integer  2
H  unsigned short  integer  2
i  int  integer  4
I  unsigned int  integer or long  4
l  long  integer  4
L  unsigned long  long  4
q  long long  long  8
Q  unsigned long long  long  8
f  float  float  4
d  double  float  8
s  char[]  string  1
p  char[]  string  1
P  void *  long
这快就类似于C语⾔中的字节对齐,⼤⼩端的选择
例⼦:(后⾯有说明)
a = struct.pack('
b = struct.pack('>I',0x12345678) #四字节存⼊,按⼤端存储Character  Byte order  Size and alignment
@  native  native 凑够4个字节
=  native  standard 按原字节数
>  big-endian  standard 按原字节数
!  network (= big-endian)  standard 按原字节数
2. bin⽂件的打开和模式
file = open(file_name,'wb')#⼆进制写模式
file = open(file_name,'rb')#⼆进制读模式
file = open(file_name,'ab')#⼆进制补充读写模式
3. bin⽂件读取
import struct
循环往复的意思
import os
def ReadFile():
filepath='7.bin'
binfile = open(filepath, 'rb') #打开⼆进制⽂件
size = size(filepath) #获得⽂件⼤⼩
for i in range(size):
data = ad(1) #每次输出⼀个字节
内丹术修炼方法
print(data)
binfile.clo()
if __name__ == '__main__':
ReadFile()
7.bin⽂件如下
4. bin⽂件写⼊
import struct
import os
def WriteFile():
filepath='7.bin'
data = 123
binfile = open(filepath, 'ab+') #打开⼆进制⽂件(追加完成) a = struct.pack('B',data)
中国民间传说故事binfile.write(a)
binfile.clo()
if __name__ == '__main__':
WriteFile()
7.bin⽂件
效果图
5. bin⽂件的⼤⼩端写⼊
import struct
file_name = "5.bin"
def Big_little_endian():
file = open(file_name,'wb')
a = struct.pack('I',0x12345678) #四字节存⼊,正常状态
织毛衣歌曲
b = struct.pack('
c = struct.pack('>I',0x12345678) #四字节存⼊,按⼤端存储file.write(a)
file.write(b)
file.write(c)
file.clo()
if __name__ == '__main__':
Big_little_endian()
6. bin⽂件的写0
import struct
bin_file_1 = "1.bin"
def write0x00():
file = open(bin_file_1,'wb')
for i in range(1,0xFF):
data = struct.pack('B',0x00) #写0
file.write(data)
file.clo
if __name__ == '__main__':
write0x00()我很重要毕淑敏
效果图:
7. bin⽂件的写1
import struct
bin_file_2 = "2.bin"
def write0xFF():
file = open(bin_file_2,'wb')
for i in range(0,0xFF):
鳄鱼养殖
data = struct.pack('B',0xFF) #写1 file.write(data)虾煮多长时间
file.clo
if __name__ == '__main__':
write0x00()
8. bin⽂件的合并
1.bin和
吊兰水培2.bin合并成merage.bin import struct
bin_file_1 = "1.bin"

本文发布于:2023-07-19 04:18:25,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1104354.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:字节   格式   进制
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图