八千里路云和月

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  62 随笔 :: 0 文章 :: 0 评论 :: 37755 阅读

问题


有二进制文件中保存了 20 亿个 2 Bytes 的数,需将其读出,每 20000 个数作图,拟合后输出结果。

 

解决


 

复制代码
 1 # -*- coding: utf-8 -*-
 2 """
 3 @author: kurrrr
 4 """
 5 
 6 import struct
 7 
 8 def main():
 9     data_file = open('run0035.bin', 'rb')
10     data_temp = data_file.read(2)
11     data_short, = struct.unpack('h', data_temp)
12     print(data_short)
13 
14 if __name__ == '__main__':
15     main()
复制代码
  • open 时加上 b 关键词
  • read() 函数实现读取,参数为读取的字节数
  • 使用 struct 模块中的 unpack() 函数将二进制转化为十进制,注意 unpack() 函数返回的是 tuple,因此需要用 data_short, = struct.unpack(‘h’, data_temp)
  • 关于 struct 模块中的 format 具体可在官网上找到。

 

posted on   hanX3  阅读(6714)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示