2017-04-20 62 views
0

所以基本上,我有10到50個額外的參數配置,我想通過​​發送到腳本 - 我不想在python腳本中配置它們。在旅途中添加argparse參數

這只是我運行腳本,所以沒有安全問題。有什麼辦法我可以打電話給我的

python myScript.py -parameter value -parameter2 value2 -parameter30 value30 

腳本,而不必設置任何parameter在我的劇本論證的?或者其他具有相同效果的東西 - **kwargs函數的類比?

+0

你可以將它轉換成鍵值對,然後直接使用它,如果你願意,也可以直接使用它,不需要使用argsparse – Netwave

+0

以前有關於解析廣義「key = value」輸入的SO問題。但'argparse'的目的在於讓程序員控制輸入的結構。對於自由形式的輸入,直接讀取sys.argv列表可能更容易。 – hpaulj

回答

3

您的配置參數在哪裏定義?如果你的程序有這樣的參數列表,你總是可以使用一個循環來添加所有參數。

for parameter_name in parameter_names: 
    argparser.add_argument('--' + parameter_name, action='store', metavar='<string>') 

沒有辦法自動解析未知選項,因爲沒有辦法,你是否要0,1或許多與未知選項相關參數。但是,您可以使用parse_known_args延遲解析未​​知選項。