文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
5.2 组的基本原理
本章的内容里,哪怕你别的都忘了,这个一定要记住:组几乎就像字典一样工作。这个抽象比喻有几个漏洞,但是基本上是正确的。组可以迭代,且拥有Python字典API的一个子集。
让我们给我们的文件添加几个对象,后续的例子里会用到:
5.2.1 字典风格的访问
你应该已经从上面的group[name] = object的格式猜到了。只要提供一个名字,你就可以访问组内的对象:
和普通Python字典不同,你还可以使用POSIX风格的路径直接访问子组里的对象,而不需要打开所有的中间组:
试图访问空组会抛出KeyError,不过h5py的一个讨厌之处是你没法在异常里面获得缺失对象的名字:
如果你不希望抛出异常,还可以用熟悉的get方法:
你可以获取一个组的长度。注意它返回了组内直接包含的对象数量,这不包括嵌套子组内的对象:
你还可以用熟悉的iteritems()函数族进行Python风格的迭代(见60页,迭代和容器)。
5.2.2 特殊属性
处理文件中的层次结构时,组和数据集有一些小装置非常有用。
首先是每个对象都有的.file属性。它以非常方便的形式返回你对象所在的File对象:
当你需要检查文件是否可读/可写或仅仅是需要知道文件名时尤其有用。
第二个是.parent属性。它返回包含你对象的那个Group对象:
有了这两个属性,你可以避免大多数麻烦的文件系统路径格式的问题。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论