Python读取bin数据

掌握二进制文件读取技巧,高效处理原始数据

什么是 .bin 文件?

.bin 文件是二进制文件,通常用于存储程序、固件、传感器数据或其他非文本格式的原始数据。 与文本文件不同,二进制文件不能直接用普通编辑器阅读,需要通过特定方式解析其内容。

使用 Python 读取 .bin 文件

Python 提供了多种方式读取二进制文件,最常用的是内置的 open() 函数配合 'rb' 模式。

基础读取示例

# 以二进制模式打开文件
with open('data.bin', 'rb') as f:
    data = f.read()  # 读取全部字节
print(data[:20])  # 打印前20个字节(bytes对象)

使用 struct 模块解析结构化数据

如果你知道二进制数据的结构(例如:一个整数 + 两个浮点数),可以使用 struct 模块进行解包。

struct 解包示例

import struct

with open('sensor_data.bin', 'rb') as f:
    # 假设文件包含:1个int (4字节) + 2个float (各4字节)
    raw = f.read(12)  # 总共12字节
    values = struct.unpack('i2f', raw)  # i=int, f=float
    print("整数:", values[0])
    print("浮点1:", values[1])
    print("浮点2:", values[2])

逐块读取大文件

对于大型 .bin 文件,建议分块读取以节省内存:

def read_in_chunks(file_path, chunk_size=1024):
    with open(file_path, 'rb') as f:
        while True:
            chunk = f.read(chunk_size)
            if not chunk:
                break
            yield chunk

# 使用示例
for chunk in read_in_chunks('large_file.bin'):
    process(chunk)  # 自定义处理函数

常见应用场景

注意事项

It Is Wise to Do Something-智慧行动指南 Python中print()函数的用法详解-快速入门指南 Venchi 巧克力-意大利百年奢华手工巧克力品牌 国行 iPhone 11 支持 eSIM 吗?全面解析-苹果手机 eSIM 功能指南 Python encoding参数详解-文件读写与字符编码指南 Python安装完没有IDLE?原因与解决方法全解析 Orphon-探索神秘的孤儿世界 Python 安装与使用 venv 虚拟环境指南 Python timeit 函数详解-高效性能测试工具 When It Comes To 翻译详解与用法指南 Pioneer登山杖组装视频教程-快速上手指南 Champion包包78TP专题页-潮流与品质的完美结合 Petrichor(法语:L’odeur de la pluie)——雨后泥土的芬芳 Python编程利器:Spyder集成开发环境详解 Python离线安装pip:解决“No module named pip”问题 大象世界-探索地球上最温柔的巨兽 Python 在线编译器-免费在线运行 Python 代码 Something例句短语大全|常见用法与实用例句 Python中sep参数的用法详解-分隔符在print()中的应用 Python常用指令速查表|快速掌握Python核心语法 plough 和 ploughing 的区别-英语词汇解析专题 Chain Dollar Store-一元好物,品质生活 Python 直接用 pip 语句吗?详解 pip 的正确使用方式 Pioneer蓝牙连不上手机?常见原因与解决方法大全 Chaimpion-探索冠军之路|成就、故事与精神 NS香港eShop-任天堂Switch港服遊戲商店指南 Shein服装-时尚潮流女装、男装与配饰精选 Champion全国门店查询-78TP授权零售店一览 SHEIN-时尚快消品牌|每日上新,全球潮流穿搭 Python while循环详解-从入门到实践 Proscenic吹风机-智能恒温护发,快速干发新体验 Chainge币-去中心化金融的未来|Chainge专题介绍 iPhone发烫怎么解决?全面降温指南|手机使用技巧 去香港买 iPhone 17 最全攻略|省钱指南、购买流程与注意事项 Python heapq 实现大顶堆详解|技术专题 任晓庆与SHEIN:中国快时尚的崛起之路 Python 的正确发音-“派森”还是“派吞”? Switch无法进入eShop?原因与解决方法全解析 Python找不到IDLE怎么办?常见原因与解决方法汇总 韩版iPhone能用国内的卡吗?全面解析与使用指南 The Defending Champion – Glory, Grit, and Greatness Python库大全-常用第三方库推荐与78TP资源导航 Be Superior To – 成为更卓越的自己 iPhone 17 Pro 1TB 多少钱?最新价格、配置与购买指南 tkinter在Python中的用法详解|Python GUI开发入门指南 Shein股票最新动态与投资分析|SHEIN上市进展、估值与前景 明智之举:在生活中做出更聪明的选择|Wise to Do Something IronPython 入门指南-.NET 平台上的 Python 实现 Shopee聊天工具-提升卖家沟通效率的必备助手 This Is a Big Elephant-探索大象的奇妙世界 深入解析:什么是 Explanation?| 全面理解解释的本质 Python中的sep参数详解-print()函数的分隔符用法 淘宝 iPhone 17 发货时间查询-最新上市信息与购买指南 Be Nice For – 传递善意,温暖世界 Emotion 音标发音详解|英语单词音标学习专题 iPhone韩版和日版的区别-全面对比指南 Python中while嵌套循环详解-入门到实践 Python pip 下载与安装指南-快速上手包管理工具 Python中IDLE怎么执行代码-新手入门指南 Python的IDLE怎么运行?新手入门指南|Python教程 iPhone 镜头焦段详解-各代 iPhone 摄像头等效焦距与用途指南 始祖鸟标志 Endorphin:设计、历史与象征意义 Pioneer电视网络设置指南-快速连接Wi-Fi与有线网络 Champion咋验-英雄联盟冠军皮肤验证与展示专题 Champion 标志设计与品牌历史|经典运动品牌标志赏析 Python str 转 byte 详解|字符串与字节转换指南 Pinarello中文7LONGWEN|意大利顶级公路自行车品牌 Python中int()函数详解-用法、示例与注意事项 Python bytes 类型详解-字节操作入门指南 Shein校园招聘-加入我们,共创时尚未来 木偶奇遇记(匹诺曹)-经典童话故事专题 Perception近义词大全-感知、洞察与理解的同义表达 先锋Pioneer加速器-极速稳定,畅游全球网络 iPhone 17 Pro 与 iPhone 17 Pro Max-全新旗舰,震撼登场 宝可梦百科-全面了解神奇宝贝世界 Be Nice to Me – 传递善意,温暖彼此 NS Online会员-享受任天堂Switch在线游戏与专属福利 IoT MQTT 控制面板-实时设备监控与管理 Pythonend怎么用?全面入门指南与使用教程 探索未知:ECPEDITION 专题页 如何正确使用 “incorporate” 搭配|英语学习专题 Exploit 名词详解-含义、用法与实例 Explanation的各个变形详解-动词、名词、形容词形式全解析 Python while 循环详解-初学者入门指南 iPhone 11 台湾版与大陆版对比详解|型号、网络、价格全解析 Do Some Things-开启你的行动清单,从今天开始改变生活 Python int转字符串:完整指南与示例 Python dict() 函数详解-创建与操作字典的完整指南 iPhone 17 有几个摄像头?最新爆料与配置解析 Spider软件Python开发指南-网络爬虫入门与实战 Pioneer是什么牌子电视?先锋电视品牌介绍与选购指南 iPhone 17 京东首发|全新升级,震撼来袭 IronPython 有毒吗?全面解析 IronPython 的安全性与使用风险 SHEIN7LONGWEN介绍-快时尚全球领先品牌 iPhone Air 港版在国内能用吗?全面解析与使用指南 Shopee主图尺寸指南-2026最新推荐规格 先锋行动者|Pioneer in Doing Something Plough and Ploughing – A Guide to Traditional and Modern Farming 内啡肽(Endorphin)在爱情中的含义|爱情与大脑化学 善待他人:让世界更温暖-Be Nice on Someone