2

h5py を使用して高レベル API と低レベル API を混在させる方法があるかどうか疑問に思っています。

例: ハイレベル インターフェイスを介してアクセスしている hdf5 ファイルがあります。

import h5py
f = h5py.File("Somefile.h5")
ds = f["/path/to/some/Dataset"]

これで、dsオブジェクトはh5py.Datasetになりました。これは、私が行う必要があるほとんどの作業に最適です。ただし、ディスクに保存されているこのデータセットのサイズを把握したいと思います。低レベルのインターフェースはh5py.h5d.DatasetID.get_storage_space()を提供します。これはまさに私が望むことを行いますが、高レベルのオブジェクトからこれを呼び出す方法がわかりません。

高レベル API から基になる低レベル オブジェクトを見つける方法はありますか?

4

1 に答える 1

3

解決策を見つけました。ドキュメントにはありませんが、高レベルのオブジェクトをインタラクティブに検索するとdir()、解決策が示されました。高レベルのオブジェクトには、対応する低レベルのオブジェクトへのリンクがあり、明らかでない名前が付いています。

上記の質問でds._idは、Dataset に関連付けられた DatasetID を返します。今私は呼び出すことができますds._id.get_storage_space()

于 2012-08-23T22:46:33.293 に答える