解决Python 使用h5py加载文件,看不到keys()的问题

yipeiwu_com5年前Python基础

python 3.x 环境下,使用h5py加载HDF5文件,查看keys,如下:

>>> import h5py
>>> f = h5py.File("a.h5",'r')
>>> f.keys()

结果看不到keys:

KeysView(<HDF5 file "a.h5" (mode r)>)

原因主要是 python2.x 和 python3.x对keys方法的返回处理不同。

官方说明如下:

When using h5py from Python 3, the keys(), values() and items() methods will return view-like objects instead of lists. These objects support containership testing and iteration, but can't be sliced like lists.

可见 python2 返回为list,python3 返回为view-like objects,不能直接查看。

解决方法如下:

1) 换成 python2.x 环境进行相同操作。

2) 采用如下代码:

>>> [key for key in f.keys()]

参考资料:

https://stackoverflow.com/questions/31037088/discovering-keys-using-h5py-in-python3

以上这篇解决Python 使用h5py加载文件,看不到keys()的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

flask框架jinja2模板与模板继承实例分析

本文实例讲述了flask框架jinja2模板与模板继承。分享给大家供大家参考,具体如下: jinja2模板 from werkzeug.contrib.cache import Si...

python在windows下实现ping操作并接收返回信息的方法

本文实例讲述了python在windows下实现ping操作并接收返回信息的方法。分享给大家供大家参考。具体分析如下: 这段python代码调用windows下的ping命令,通过sub...

利用Python开发实现简单的记事本

利用Python开发实现简单的记事本

前言 本文的操作环境:ubuntu,Python2.7,采用的是Pycharm进行代码编辑,个人很喜欢它的代码自动补齐功能。 示例图 如上图,我们可以看到这个记事本主要分为三个模块:文...

Pandas 解决dataframe的一列进行向下顺移问题

最近做比赛,有时候需要造出新的特征,而这次遇到的问题是将一列数据往下顺移一位。同时将开头缺失的那一个数据用其他方式填充。 df['feature'].shift(1)向下顺移一位,这时第...

Python使用正则匹配实现抓图代码分享

内涵:正则匹配,正则替换,页面抓取,图片保存 。 实用的第一次 Python 代码 参考 #!/usr/bin/env python import urllib import re...