मैं अपनी hdf5 फ़ाइलों तक पहुंचने के लिए पायथन पैकेज h5py (संस्करण 2.5.0) का उपयोग करता हूं।h5py के साथ HDF5 डेटासेट और समूहों के बीच अंतर कैसे करें?
मैं एक फ़ाइल की सामग्री को पार करना चाहता हूं और प्रत्येक डेटासेट के साथ कुछ करना चाहता हूं। एक परीक्षण फ़ाइल मैं प्राप्त के लिए
import h5py
def print_it(name):
dset = f[name]
print(dset)
print(type(dset))
with h5py.File('test.hdf5', 'r') as f:
f.visit(print_it)
:
visit
पद्धति का उपयोग करना
<HDF5 group "/x" (1 members)>
<class 'h5py._hl.group.Group'>
<HDF5 dataset "y": shape (100, 100, 100), type "<f8">
<class 'h5py._hl.dataset.Dataset'>
जो मुझसे कहता है एक डाटासेट और फाइल में एक समूह होता है। हालांकि डेटासेट और समूहों के बीच अंतर करने के लिए type()
का उपयोग करने के अलावा कोई स्पष्ट तरीका नहीं है। दुर्भाग्य से h5py documentation इस विषय के बारे में कुछ भी नहीं कहता है। वे हमेशा मानते हैं कि आप पहले से जानते हैं कि समूह क्या हैं और डेटासेट क्या हैं, उदाहरण के लिए क्योंकि उन्होंने डेटासेट स्वयं बनाया है।
f = h5py.File(..)
for key in f.keys():
x = f[key]
print(x.is_group(), x.is_dataset()) # does not exist
मैं समूहों और डेटासेट के बीच कैसे अलग कर सकते हैं जब h5py साथ पायथन में एक अज्ञात HDF5 फ़ाइल को पढ़ने:
मैं की तरह कुछ है चाहते हैं? मैं सभी लिंक के सभी समूहों के सभी डेटासेट्स की सूची कैसे प्राप्त कर सकता हूं?
धन्यवाद। मुझे लगता है कि सभी समूह 'h5py.Group' से प्राप्त होते हैं,' h5py.SoftLink' से सभी मुलायम लिंक और 'h5py.HardLink' से सभी हार्ड लिंक प्राप्त होते हैं। – Trilarion
हो, एक अपवाद मैं उल्लेख करना भूल गया। अगर मुझे सही याद है, तो 'विज़िटिटम्स' बाहरी लिंक पर नहीं जाता है। – Gall