python 处理二进制文件
python 处理二进制文件
扩展名为.bin的文件就是一个二进制文件(binary)。不同于文本文件,二进制文件用记事本、Notepad++等打开都是乱码。
但是.bin文件可以用UltraEdit等软件打开。二进制文件里面存储的都是数据,只有按照某个预先设定的规则读出,才能明白这些数字的具体含义。
UltraEdit将二进制文件内容转为十六进制的形式展现出来
二进制文件相比于文本文件的优点:节约存储空间、读写速度快、有一定的加密保护作用。
Python 对二进制文件读写:
#!/usr/bin/env python # coding=utf-8 import struct import os filepath = '123.bin' def read_binfile(fpath): filepath = fpath binfile = open(filepath, 'rb') size = os.path.getsize(filepath) for i in range(size): data = binfile.read(1) # #每次输出一个字节 num = struct.unpack('B', data) #参数B的含义是将C结构数据的unsigned char 类型转为python中的integer这里得到的num是tuple类型,因此使用num[0]将数字取出 print(num[0]) # print(data) binfile.close() def write_binfile(fpath): data = 16 content = data.to_bytes(1, 'big') # 参数 ‘1’ :转为1个字节的bytes; 参数 'big’ :byteorder。 filepath = fpath binfile = open(filepath, 'ab+') binfile.write(content) print("content:", content) binfile.close() if __name__ == '__main__': read_binfile(filepath) # write_binfile(filepath)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY