0
我使用爲我的工作制作命令行工具。
我有一個要求,其中一個參數應該能夠取多個值。如何使用argparse爲參數合併多個值
該參數可以只採用合法值。
合法值可以是來自列表「ALL」的值的任意組合。
sample.py:
import argparse
sample_list = ["a", "b", "c"]
parser = argparse.ArgumentParser()
parser.add_argument('-M', '--Module', choices=sample_list, default=default_module, help='specify the Module name')
args = parser.parse_args()
使用上述方法允許值的允許值是:
python sample.py -M a
我希望用戶能夠進入:
python sample.py -M a,b
<ok>
python sample.py -M ALL
<ok>
python sample.py -M D
<error>
如何做到這一點?
嘗試參考http://stackoverflow.com/questions/8526675/python-argparse-optional-append-argument-with-choices –
你可以爲該參數實現一個自定義的'type'函數,該函數將檢查' sample_list'你的規則,但沒有內置的方式來做AFAIK – jonrsharpe
謝謝@DesmondLua我得到了解決我的問題。 –