Zastanawiasz się, czy istnieje prosty sposób sprawdzenia, czy istnieje węzeł w pliku HDF5 za pomocą h5py.Sprawdź, czy istnieje węzeł w h5py
Nie mogłem znaleźć niczego w dokumentach, więc teraz używam wyjątków, które są brzydkie.
# check if node exists
# first assume it exists
e = True
try:
h5File["/some/path"]
except KeyError:
e = False # now we know it doesn't
Aby dodać kontekst: Używam tego celu określenia, czy węzeł istnieje przed próbą utworzenia nowego węzła o tej samej nazwie.
W Pythonie 2 spowoduje to załadowanie całego zestawu kluczy do listy, a następnie przeszukiwanie liniowe na tej liście, podczas gdy użycie '__contains__' (tj.' "/ some/path" w h5file') sprawdzi to znacznie bardziej bezpośrednio. Ponadto nie będzie działać dla podanego przykładu, tylko jeśli jest członkiem najwyższego poziomu. – Dougal
Rozważałem to, ale to nie działa dla członków osadzonych. Ponadto, nie wiedziałem o skutkach wydajności ... dzięki! –