你好,
我有一個方法命名主要需要* * kwargs作為參數。
def主要(* * kwargs): parameterOne = kwargs parameterTwo = kwargs (“param-one”) (“param-two”) parameterThree = kwargs (“param-optional-one”)如果“param-optional-one”kwargs其他沒有parameterFour = kwargs (“param-optional-two”)如果“param-optional-two”kwargs別的沒有
我已經宣布它作為entry_point設置
entry_points = {console_scripts:['主要= ETL。“V1:主要']},
我通過關鍵字參數的任務
“entry_point”:“主要”、“named_parameters”: {“param-one”:“測試”、“param-two”:“測試兩個“}
當我運行工作它進入的主要方法,但是失敗在第一行
KeyError:“param-one”- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - KeyError回溯(最近調用最後)<命令——1 > <模塊> 16如果條目:17 #加載和執行入口點,假設沒有參數- - - > 18個條目[0].load () () 19: 20 ETL進口。V1 /磚/ python / lib / python3.8 /網站/ ETL / V1。py在主(* * kwargs) 8因為我,v kwargs.items(): 9打印(“”,我“:”,v) - - - > 10 parameterOne = kwargs [' param-one '] 11 parameterTwo = kwargs [‘param-two] KeyError:“param-one”
關鍵字參數沒有被傳遞或我做錯了什麼嗎?
我想看看什麼kwargs,然而,沒有打印任何東西在上麵的任務輸出的錯誤顯示。所以,我不能告訴如果任何kwargs與否。
它是命令行參數
——-param-one =測試
您可以測試ArgumentParser
從解析器argparse進口ArgumentParser = ArgumentParser()解析器。add_argument (”——param-one”, dest =“parameterOne”)參數= parser.parse_args ()