Перебрать все значения вложенного словаря?

for k, v in d.iteritems():
    if type(v) is dict:
        for t, c in v.iteritems():
            print "{0} : {1}".format(t, c)

Я пытаюсь пройтись по словарю и вывести все пары значений ключа, где значение не является вложенным словарем. Если значение является словарем, я хочу войти в него и распечатать его пары ключевых значений... и т.д. Любая помощь?

РЕДАКТИРОВАТЬ

Как насчет этого? Он по-прежнему печатает только одну вещь.

def printDict(d):
    for k, v in d.iteritems():
        if type(v) is dict:
            printDict(v)
        else:
            print "{0} : {1}".format(k, v)

Полный тестовый пример

Словарь:

{u'xml': {u'config': {u'portstatus': {u'status': u'good'}, u'target': u'1'},
      u'port': u'11'}}

Результат:

xml : {u'config': {u'portstatus': {u'status': u'good'}, u'target': u'1'}, u'port': u'11'}
92
задан Tom de Geus 5 October 2017 в 07:58
поделиться