У меня есть файл hdf5 и что рекурсивно проверять все его group names
, ожидаемый вывод - строка, содержащая все отношения пути, такие как root->node1->node2->leaf
, и различные пути разделяются |
, но что-то кажется неправильным в моем коде.
Я попробовал некоторый код на Python, но просто вывел первый путь последовательности.
def recurse_walk(hdf5_flie,chains=''):
if not isinstance(hdf5_flie,File) or isinstance(hdf5_flie,Group):
# object reaches its leaf node if not the instances
chains += '|'
else:
keys = list(hdf5_flie.keys()) # list 'keys' contains the group names of the object
for key in keys:
chains += key
return recurse_walk(hdf5_flie[key],chains=chains) # going to the next level
return chains # output all chains
Ожидаемый результат - path1| path2 | path3 |......| pathN |
, но, тем не менее, это только первый путь (root->node1->node2->leaf|
) и никогда не будет.