python访问txt文件非常简便,可是对于二进制文件的访问却让没有接触过的小伙伴有点恼火了,尤其是对于习惯了C语言的人而言。笔者经历一番波折总算实现了python对二进制文件的写操作,在这里记录一下。
工具/原料
PC一台
python开发环境
基本概念
1
python对二进制文件的操作需要使用bytes类,直接写入整数是不行的,如果试图使用fobj.write(123)向文件中以二进制写入123,结果提示参数不是bytes类型。
2
整数类型貌似不能直接转换为bytes类型,但是列表却可以,比如:bytes([1])可以获得一个b'\x01'。
3
由此我们可以通过这种“曲线救国”的方式将整数转换为bytes了,即:bytes([整数])
4
调用fobj.write(bytes([1]))写入ok!
END
代码编写
1
根据上述思路编写如下测试代码
2
执行测试代码
3
在WinHex中查看杠杆写入的测试文件test.bin,写入的是0~255的二进制数,读出来也是,写入正确!
END
注意事项
1、住要不要试图使用将整数转换成字符串,再使用“字符串.encode()”转换成bytes,这再python3中得到的其实是字符串的二进制序列!
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
举报作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部