Python读写二进制文件需用bytes(不可变)和bytearray(可变)类型,open()必须使用'b'模式(如'rb'、'wb'),bytes支持切片索引但不可修改,bytearray支持原地编辑,适合高效修改字节数据。
Python 读写二进制文件,核心是用 bytes 和 bytearray 类型来处理原始字节数据。它们不是字符串,不能直接用 str 的方法操作,也不能和字符串混用(会报错)。关键区别在于:bytes 是不可变的,bytearray 是可变的——就像 str 和 list 的关系。
b 模式读写二进制文件时,open() 的 mode 参数必须包含 b,比如 'rb'、'wb'、'r+b'。漏掉 b 会导致编码错误或数据损坏。
with open('photo.jpg', 'rb') as f: data = f.read() → 返回 bytes 对象with open('output.bin', 'wb') as f: f.write(b'\x00\x01\x02') → 写入字节序列f.write('hello'),会报 TypeError;必须是 b'hello' 或 bytes/bytearray
bytes:只读字节序列,适合存储/传输bytes 是不可变类型,创建后内容不能修改。适合做常量、缓存、网络收发等不需要改写场景。
b'abc'、b'\xff\x00\x80'、bytes([1, 2, 3])
in 判断,但不支持 .append()、[0] = 97 等赋值操作bytes.fromhex('aabbcc') → b'\xaa\xbb\xcc';b'hello'.hex() → '68656c6c6f'
bytearray:可变字节缓冲区,适合编辑/构造当你需要修改某几个字节(比如改图片头、拼接协议包、加密解密中间过程),bytearray 更高效——不用反复新建对象。
bytearray(b'abc')、bytearray(10)(10 字节
全 0)、bytearray([10, 20, 30])
ba[0] = 255、ba.append(0x01)、ba.extend(b'def')
bytes 传给文件或 socket:data = bytes(ba)(注意这是拷贝)比如把一个 PNG 文件头(前 8 字节)从 b'\x89PNG\r\n\x1a\n' 改成自定义标识:
with open('input.png', 'rb') as f:
ba = bytearray(f.read()) # 全部读入可变缓冲区
修改前 4 字节为自定义魔数
ba[0:4] = b'MYBN'
with open('output.bin', 'wb') as f:
f.write(ba) # 直接写入 bytearry,自动转为 bytes 流
这个过程用 bytes 就得切片拼接:new_data = b'MYBN' + old_bytes[4:],内存开销更大。
相关文章:
宝华建站服务条款解析:五站合一功能与SEO优化设置指南
如何配置IIS站点权限与局域网访问?
潍坊网站制作公司有哪些,潍坊哪家招聘网站好?
如何在云指建站中生成FTP站点?
如何获取PHP WAP自助建站系统源码?
如何快速生成ASP一键建站模板并优化安全性?
成都网站制作公司哪家好,四川省职工服务网是做什么用?
制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?
常州自助建站:操作简便模板丰富,企业个人快速搭建网站
建站之星Pro快速搭建教程:模板选择与功能配置指南
Bpmn 2.0的XML文件怎么画流程图
大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?
如何选择建站程序?包含哪些必备功能与类型?
道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
东莞专业制作网站的公司,东莞大学生网的网址是什么?
广州网站建站公司选择指南:建站流程与SEO优化关键词解析
江苏网站制作公司有哪些,江苏书法考级官方网站?
巅云智能建站系统:可视化拖拽+多端适配+免费模板一键生成
定制建站如何定义?其核心优势是什么?
如何在Tomcat中配置并部署网站项目?
早安海报制作网站推荐大全,企业早安海报怎么每天更换?
建站之星安装失败:服务器环境不兼容?
贸易公司网站制作流程,出口贸易网站设计怎么做?
如何用免费手机建站系统零基础打造专业网站?
小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化
如何正确下载安装西数主机建站助手?
如何在橙子建站上传落地页?操作指南详解
,想在网上投简历,哪几个网站比较好?
定制建站价位费用解析与套餐推荐全攻略
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
微课制作网站有哪些,微课网怎么进?
GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?
网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?
网站制作价目表怎么做,珍爱网婚介费用多少?
香港服务器网站推广:SEO优化与外贸独立站搭建策略
,在苏州找工作,上哪个网站比较好?
深圳企业网站制作设计,在深圳如何网上全流程注册公司?
深圳网站制作培训,深圳哪些招聘网站比较好?
如何在云服务器上快速搭建个人网站?
如何注册花生壳免费域名并搭建个人网站?
微信小程序 input输入框控件详解及实例(多种示例)
广州顶尖建站服务:企业官网建设与SEO优化一体化方案
简单实现Android文件上传
广州网站设计制作一条龙,广州巨网网络科技有限公司是干什么的?
建站之星上传入口如何快速找到?
制作网站的基本流程,设计网站的软件是什么?
个人网站制作流程图片大全,个人网站如何注销?
建站10G流量真的够用吗?如何应对访问高峰?
*请认真填写需求信息,我们会在24小时内与您取得联系。