Der betreffende Code ist here on Github. Im Prinzip funktioniert alles außer der addClient()-Funktion, die ein SRE_Match-Objekt übernimmt und analysiert und die extrahierten Variablen in einem dict einem Schlüssel in einem global definierten dict zuordnet. Wenn jedoch nach dem Erstellen dieses neuen Schlüssels das mit diesem Schlüssel verknüpfte Element gedruckt wird, wird ein KeyError ausgelöst, der besagt, dass der Schlüssel nicht definiert ist! Ich habe keine Ahnung, was damit passiert.Python verschachtelte Wörterbuchzuordnung funktioniert nicht
Der Code für AddClient():
def addClient(client, info,medium):
if info:
info = info.group(0).split(' ')
if medium == 'text':
db['clients']['text'][client] = {'number':info[0],'os':info[1]}
elif medium == 'email':
db['clients']['email'][client] = {'address':info[0],'os':info[1]}
elif medium == 'pm':
db['clients']['pm'][client] = {'os':info[0]}
print(db['clients'][medium][client])
Sie benötigen ein in sich geschlossenes Beispiel zu zeigen, um das Problem zu demonstrieren. – BrenBarn
Bitte geben Sie den relevanten Code in Ihre Frage ein und zeigen Sie an, welche Schritte Sie bis jetzt unternommen haben. –
Dann trifft 'medium' keinen Ihrer drei Fälle, oder' info' ist falsch. Da Sie Pfade durch die Funktion haben, die dazu führen können, dass die Schlüssel nicht gesetzt werden, Sie aber trotzdem versuchen, sie zu drucken, scheint es sehr wahrscheinlich, dass Sie einen dieser Pfade treffen. – TessellatingHeckler