這個問題在這里已經有了答案: 從 Python KeyError 例外中獲取鍵名 6 個答案 17 天前關閉。
我正在撰寫一個輔助函式,我需要知道在引發 KeyError 時缺少什么鍵。
考慮一下:
def foo(x:dict):
try:
y = x['A']
except KeyError as ke:
return ke
foo(dict())
正如預期的那樣,上面的代碼引發了 KeyError。更具體地說,repr 是KeyError('A')。
我想訪問丟失的“A”,但它似乎不是KeyError物件的屬性。
有任何想法嗎?
附言。我這樣做的原因是因為我想寫一個表單的函式
def check_calculation_dependency_on_data(calculation:callable, data:pd.DataFrame)->list[str]:
'''Returns the mandatory columns data needs to contain for the calculation to work'''
我有上面的一個版本,其中資料從所有列開始,并一次逐步洗掉它們(在 try-except 塊內),以列出如果丟失則引發 KeyError 的列。但是,如果代碼以空資料框開頭,并且我一一添加缺少的列,直到沒有引發 KeyError,它的效率會高得多。
uj5u.com熱心網友回復:
已經在這里回答了鏈接
map1 = {}
try:
x = map1['key2']
except KeyError as e:
print(e.args[0])
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/426259.html
上一篇:使用selenium和請求下載影像:為什么WebElement的.get_attribute()方法回傳base64格式的URL?
