Zapętlić wszystkie zagnieżdżone wartości słownika?

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

Próbuję przejść przez słownik i wydrukować wszystkie pary kluczowych wartości, których wartość nie jest słownikiem zagnieżdżonym. Jeśli wartość jest słownikiem, do którego chcę się dostać i wydrukować jej pary kluczowych wartości ... itd. Jakaś pomoc?

EDYTOWAĆ

Co powiesz na to? Nadal drukuje tylko jedną rzecz.

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

Pełna sprawa testowa

Słownik:

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

Wynik:

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

questionAnswers(11)

yourAnswerToTheQuestion