Проверьте, существует ли node в h5py

Мне интересно, есть ли простой способ проверить, существует ли узел в файле HDF5, используя h5py.

Я не смог ничего найти в документах, поэтому сейчас я использую исключения, что ужасно.

# check if node exists
# first assume it exists
e = True
try:
  h5File["/some/path"]
except KeyError:
  e = False # now we know it does not

Чтобы добавить контекст: я использую это, чтобы определить, существует ли узел, прежде чем пытаться создать новый узел с тем же именем.

Ответ 1

e = "/some/path" in h5File

делает это. Это очень кратко упоминается в документации Group.

Ответ 2

Вы также можете просто использовать метод require_group() для групп. H5py Docs.

Ответ 3

После проверки документации групповые документы. Я предполагаю, что вы можете использовать метод ключей объекта group для проверки перед использованием:

# check if node exists
# first assume it doesn't exist
e = False
node = "/some/path"
if node in h5file.keys():
    h5File[node]
    e = True