Допустим есть словарь
myDict = {
'topKey1':{
'subKey1':{
'endKey1':{'key1':'value1'},
'endKey2':{'key2':'value2'}
},
'subKey2':{
'endKey1':{'key':'value1'},
'endKey2':{'key':'value2'}
}
}
}
Что бы получить данные соответственно используется следующая конструкция
print(str(myDict['topKey1']['subKey1']['endKey1']['key1']))
Я хочу сделать так, чтобы когда с input получаю что то вроде этого например:
addr:topKey1/subKey1
То на выходе получал
print(str(myDict['topKey1']['subKey1']))
По сути я пытаюсь сделать файловый менеджер, но для словаря
Сейчас мой код примерно такой
if inputText.find('addr:') != -1:
path = inputText.split(':')[1]
length = 1
if path.find('/') != -1:
length = len(path.split('/'))
if length == 1:
for k in myDict[path]:
print(str(k))
if length == 2:
for k in myDict[path.split('/')[0]][path.split('/')[1]]:
print(str(k))
if length == 3:
for k in myDict[path.split('/')[0]][path.split('/')[1]][path.split('/')[2]]:
print(str(k))
...
Но словарь может быть из огромного количества вложенных словарей и я не могу прописать для каждой длины прибавление [path.split('/')[x]]
Грубо говорая
addr:topKey1
myDict['topKey1']
addr:addr:topKey1/subKey1
myDict['topKey1']['subKey1']
addr:addr:topKey1/subKey1/endKey1
myDict['topKey1']['subKey1']['endKey1']
Есть ли что-то, что может это автоматизировать? Может библиотека какая?