[英]How to combine multiple values for an argument using argparse
我正在使用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>
如何實現呢?
最簡單的解決方案是將ALL
包含在允許選擇的列表中,然后使用action='append'
或nargs='*'
接受多個值。 我將對ALL
的解釋留給后解析代碼。
正如在其他SO問題中所討論的那樣,嘗試處理以逗號分隔的子列表是很痛苦的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.