¿Recorre todos los valores del diccionario anidado?

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

Estoy intentando recorrer un diccionario e imprimir todos los pares de valores clave donde el valor no es un diccionario anidado. Si el valor es un diccionario, quiero introducirlo e imprimir sus pares de valores clave ... etc. ¿Alguna ayuda?

EDITAR

¿Qué tal esto? Todavía solo imprime una cosa.

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

Caso de prueba completo

Diccionario:

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

Resultado:

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

Respuestas a la pregunta(11)

Su respuesta a la pregunta