打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Python读取二进制文件 --- webpro程序爱好者 asp,asp.net,jav...
Python读取二进制文件





Python里虽然可以通过’b的标记来区别普通文件和二进制文件,但是依然是把二进制文件当作普通文本处理。要读写二进制文件,需要用struct库来作pack和unpack。

比如我最近拿到一个如下数据结构的二进制文件

Code
  1. structDEMTYPE{
  2. introw;
  3. intcol;
  4. floatxmin;
  5. floatymin;
  6. floatxmax;
  7. floatymax;
  8. floatsize;
  9. floatvmin;
  10. floatvmax;
  11. floatscale;
  12. float*data;
  13. };

其中data是一个长度为row*col的数组。要读取这样一个二进制文件,可以用这样的代码
Code

  1. row, col, xmin, ymin, xmax, ymax, size, vmin, vmax, scale =
  2. struct.unpack(<2i8f, datastring[:(4*2+4*8)])
  3. vdata =struct.unpack(<+str(row*col)+f, datastring[(4*2+4*8):])

核心是unpack的第一个参数,用来标识二进制数据的格式,其中<表示little-endian,i表示整型数,f表示单精度浮点数,数字是量词。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
使用Python读取二进制文件
Python使用struct处理二进制
python unpack
python处理二进制文件(.bin)
字节序问题
Python读写二进制文件 [Python俱乐部]
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服