python2.7
では、キーが使用するhdf5
ファイルを分析できます
$ python
>>> import h5py
>>> f = h5py.File('example.h5', 'r')
>>> f.keys()
[u'some_key']
ただし、python3.4
では、別の結果になります。
$ python3 -q
>>> import h5py
>>> f = h5py.File('example.h5', 'r')
>>> f.keys()
KeysViewWithLock(<HDF5 file "example.h5" (mode r)>)
KeysViewWithLock
とは何ですか。Python3でHDF5キーを確認するにはどうすればよいですか?
H5pyのウェブサイトから( http://docs.h5py.org/en/latest/high/group.html#dict-interface-and-links ):
Python 3のh5pyを使用すると、keys()、values()、items()メソッドはリストではなくビューのようなオブジェクトを返します。これらのオブジェクトはコンテナシップのテストと反復をサポートしていますが、リストのようにスライスする。
これは、それらを表示できない理由を説明しています。最も簡単な答えは、それらをリストに変換することです:
>>> list(for.keys())
残念ながら、私はiPythonで物事を実行し、それはコマンド 'l'を使用します。つまり、そのアプローチは機能しません。
それらを実際に表示するには、コンテナーシップのテストと反復を利用する必要があります。コンテナーシップのテストでは、キーを既に知っている必要があるので、それは終わりです。幸い、反復を使用するのは簡単です。
>>> [key for key in f.keys()]
['mins', 'rects_x', 'rects_y']
これを自動的に行う簡単な関数を作成しました。
def keys(f):
return [key for key in f.keys()]
それからあなたは得る:
>>> keys(f)
['mins', 'rects_x', 'rects_y']