问题来源:用传统的方法获取.he4文件内容,往往有些信息获取不到。

HDF 是用于存储和分发科学数据的一种自我描述、多对象文件格式。HDF 是由美国国家超级计算应用中心(NCSA)创建的,以满足不同群体的科学家在不同工程项目领域之需要。HDF 可以表示出科学数据存储和分布的许多必要条件。HDF 被设计为:

  • 自述性:对于一个HDF 文件里的每一个数据对象,有关于该数据的综合信息(元数据)。在没有任何外部信息的情况下,HDF 允许应用程序解释HDF文件的结构和内容。
  • 通用性:许多数据类型都可以被嵌入在一个HDF文件里。例如,通过使用合适的HDF 数据结构,符号、数字和图形数据可以同时存储在一个HDF 文件里。
  • 灵活性:HDF允许用户把相关的数据对象组合在一起,放到一个分层结构中,向数据对象添加描述和标签。它还允许用户把科学数据放到多个HDF 文件里。
  • 扩展性:HDF极易容纳将来新增加的数据模式,容易与其他标准格式兼容。
  • 跨平台性:HDF 是一个与平台无关的文件格式。HDF 文件无需任何转换就可以在不同平台上使用。

废话说完了,进入今日重点:

# -*- coding:utf-8 -*-
# author:
from pyhdf.HDF import *
from pyhdf.V   import *
from pyhdf.VS  import *
from pyhdf.SD  import *
import numpy as np
import sys
def describevg(group,refnum):refs_dict = {}vg = v.attach(refnum)print("----------------")print("name:", vg._name, "class:", vg._class, "tag,ref:",)print(vg._tag, vg._refnum)# Show the number of members of each main object type.print("members: ", vg._nmembers,)print("datasets:", vg.nrefs(HC.DFTAG_NDG),)print("vdatas:  ", vg.nrefs(HC.DFTAG_VH),)print("vgroups: ", vg.nrefs(HC.DFTAG_VG))members = vg.tagrefs()if "Data Fields"==vg._name:index = -1for tag, ref in members:index += 1if tag == HC.DFTAG_VH:  # vdatasvd = vs.attach(ref)nrecs, intmode, fields, size, name = vd.inquire()  #vd.detach()elif tag == HC.DFTAG_NDG:  # datasetssds = sd.select(sd.reftoindex(ref))name, rank, dims, type2, nattrs = sds.info()  #sds_group=[i.split(":")[-1] for i in list(sds.dimensions().keys())]if group==list(set(sds_group))[0]:refs_dict[sds.info()[0]] = refsds.endaccess()elif tag == HC.DFTAG_VG:  # vgroupsvg0 = v.attach(ref)vg0.detach()else:passvg.detach()return refs_dict
if __name__ == '__main__':Path = r'E:\GraduationDesign\weilesa\OMI-Aura_L1-OML1BIRR_2018m0608t0107-o73916_v003-2018m0608t082245.he4'hdf = HDF(Path)sd = SD(Path)vs = hdf.vstart()v = hdf.vgstart()#包含组v.findclass('SWATH Vgroup')print( "包含组:",v.findclass('SWATH Vgroup'))group='Sun Volume VIS Swath'#组keys='Irradiance'dataset=''keys_list=[]ref = -1while 1:try:ref = v.getid(ref)except:breakrefs_dict = describevg(group,ref)# print(refs_dict)if len(refs_dict.keys()) > 1:keys_list.append(refs_dict[keys])for keys_li in keys_list:sds = sd.select(sd.reftoindex(keys_li))data = np.float64(sds.get())

python解析.he4文件相关推荐

  1. 【Android 逆向】使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 完整代码示例 ) ★★★

    文章目录 一.完整代码示例 二.执行结果 三.博客资源 一.完整代码示例 使用 Python 解析 ELF 文件完整代码示例 : # coding=utf-8 # 解析 elf 文件需要导入的依赖库 ...

  2. [系统安全] 四十一.APT系列(6)Python解析PE文件并获取时间戳判断来源区域

    您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...

  3. Python解析json文件

    Python解析json文件 实现代码 import json import sysstdout = sys.stdoutwith open("company.json", &qu ...

  4. python解析xml文件最好选用的模块_用Python解析XML文件

    本文翻译自:https://developer.yahoo.com/python/python-xml.html 使用Python解析XML文件 许多YDN APIs提供了JSON格式的数据输出,JS ...

  5. python解析dat文件生成xlsx文件

    系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 python解析dat文件生成xlsx文件 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 ...

  6. 【Android 逆向】使用 Python 解析 ELF 文件 ( Capstone 反汇编框架 | PyCharm 中导入 Capstone 反汇编框架 )

    文章目录 一.Capstone 反汇编框架 二.PyCharm 中导入 Capstone 反汇编框架 一.Capstone 反汇编框架 Android 的 APK 安装文件中 , 可能存在若干 so ...

  7. python读取xml标注坐标_遍历文件 创建XML对象 方法 python解析XML文件 提取坐标计存入文件...

    XML文件??? xml即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言. 里面的标签都是可以随心所欲的按照他的命名规则来定义的,文件名为roi.xm ...

  8. python解析log文件_python解析基于xml格式的日志文件

    大家中午好,由于过年一直还没回到状态,好久没分享一波小知识了,今天,继续给大家分享一波Python解析日志的小脚本. 首先,同样的先看看日志是个啥样. 都是xml格式的,是不是看着就头晕了??没事,我 ...

  9. python 解析xml 文件: SAX方式

    环境 python:3.4.4 准备xml文件 首先新建一个xml文件,countries.xml.内容是在python官网上看到的. <?xml version="1.0" ...

  10. python解析xml文件选用模块_Python标准库系列之xml模块

    Python's interfaces for processing XML are grouped in the xml package. 带分隔符的文件仅有两维的数据:行和列.如果你想在程序之间交 ...

最新文章

  1. TalkingData:2014年移动打车应用行业报告
  2. Python查找相同元素,不同元素
  3. sql和sqlite常用查询语句
  4. 【quickhybrid】JSBridge的实现
  5. IDC Q1中国云服务报告:公有云IaaS市场增速持续高于全球
  6. sql mdf文件被破坏,ldf完好的情况下恢复数据库
  7. 死锁问题------------------------INSERT ... ON DUPLICATE KEY UPDATE*(转)
  8. 3月9日 英语笔记-英标
  9. 炫酷 雨滴桌面设置工具
  10. NLTK加载自定义词典
  11. 人生如逆旅,我亦是行人
  12. Python界面设计之Label
  13. c51语言转换ASCII码,数据转换:C51数字转字符最快速的方法 ASCII转换
  14. 甲骨文公司 Oracle
  15. sqlsever练习题大全所有练习代码文字版程序可做见习报告用
  16. SODBASE CEP学习(十五):常见场景EPL示例
  17. oracle 查看scott权限,Oracle创建表空间、创建用户以及授权、查看权限 、scott解锁...
  18. 年度大戏《“跨界”的诱惑》主演:头部车企、手机巨头
  19. 网站怎么样做更好的展现出这个企业品牌的形象?
  20. 计算机专业毕业论文SSM实现的网上书城系统|商城电商购物[包运行成功]

热门文章

  1. lingo软件的基本使用方法_(PS软件)PHOTOSHOP基础操作和基本工具的使用
  2. python bottle部署_如何使用python-Bottle框架创建REST API应用程序,以及如何在apache服务器上部署restapi应用程序?...
  3. c++ string replace_「Java学习」String,StringBuffer和StringBuilder的区别
  4. 涉密文件检查工具_保密文件销毁咨询
  5. 小程序:微信小程序开发
  6. 实战CSS:苏宁商城静态实现
  7. Java集合框架的概念以及常用接口的介绍
  8. 论文阅读-语义分割(2021)-BiSeNetV3:重新思考用于实时语义分割的BiSeNet模型
  9. HDU-1013-Digital root
  10. 深度学习笔记(一)——初步理解yoloV3原理