我需要在表单中有一个命令行
python script.py --step1=100 --step3=53 --step2=34所需条件如下
--stepN标志--stepN标志的顺序,所以我不能只使用action='append'我也对这些限制感兴趣:
--step20,但是缺少--step19,则这是一个错误。args = parser.parse_args()
args.steps # is list [100, 34, 53]argparse能不能采取一种农耕模式,不知何故,我可以写一个定制的动作或类型来做我想做的事?我在想
parser.add_argument('--step*',
type=CustomType,
action=CustomAction,
help='Use --step1=a --step2=b, ....')发布于 2017-06-15 17:23:45
这不是一个很好的argparse适合。有许多关于接受广义key=value输入的问题,以及各种可能的答案。在大多数情况下,答案相当于自己解析字符串,无论是来自sys.argv还是来自extras of parse_known_args。
Create variable key/value pairs with argparse (python)
这与您添加的关于键的形式的要求是双重的。
在最近的这样一个问题中,我建议使用append和nargs=2,以便输入的形式如下:
python script.py --step 1 100 --step 2 53 --step 3 34生产
Namespace(step=[[1,100], [2,53], [3, 24]])你可以根据你的心愿来处理和价值检查。
Support arbitrary number of related named arguments with Python argparse
https://stackoverflow.com/questions/44572898
复制相似问题