Chciałbym uzyskać nazwę klucza od Python KeyError
wyjątek:Uzyskaj nazwę klucza z wyjątkiem Python KeyError
Na przykład:
myDict = {'key1':'value1'}
try:
x1 = myDict['key1']
x2 = myDict['key2']
except KeyError as e:
# here i want to use the name of the key that was missing which is 'key2' in this example
print error_msg[missing_key]
Próbowałem już tego
print e
print e.args
print e.message
mój kod jest wewnątrz widoku django!
jeśli używam ipython na przykład i wypróbuję e.arg lub e.message to działa dobrze. ale potem spróbować podczas wewnątrz widoku django uzyskać to wyniki:
"Key 'key2' not found in <QueryDict: {u'key1': [u'value']}>"
("Key 'key2' not found in <QueryDict: {u'key1': [u'value']}>",)
Key 'key2' not found in <QueryDict: {u'key1': [u'value']}>
natomiast chcę tylko „Klawisz2”
Czy to tylko do logowania, czy też zamierzasz coś zrobić za pomocą klucza? – NPE
wystarczy użyć 'e.args [0]'. –
widać, że jeśli używam args [0], otrzymuję pierwszy element z krotki, który jest taki sam, jaki otrzymuję, gdy drukuję e.message – yossi