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

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'}

Ответы на вопрос(11)

Ваш ответ на вопрос