optparse.option action =“store”没有参数

时间:2017-03-20 16:40:49

标签: python pytest optparse

我想把一个bool arg放到一个商店arg中,并且在cli上存在没有提供的值作为合法设置:

prog.py [--nuke [name1[,name2]*]]  # clean usual + optional csv string 

e.g。

prog.py                       # no action
prog.py --nuke                # usual clean
prog.py --nuke special,value  # extra named clean csv value special

实现这个问题的最简单答案是有2个选项。但是,如果没有过多的想象力,我会喜欢选择性地保守。

我正在尝试将空参数作为合法选项。我存在没有args的参数是合法的。我可以用一个参数做到这一点吗?

def pytest_addoption(parser):
  parser.addoption('--nuke', action="store", default=False,
                   help="pass in named object to delete, or empty to "  
                        "delete usual-suspects. eg. "
                        "  prog --nuke   # remove all but host"
                        "  prog --nuke templates  # all but host plus named vm")

1 个答案:

答案 0 :(得分:0)

最熟悉的方法:使其成为2个选项而不是1个   --nuke(动作= store_true);   --doomed(动作=追加);

存在'nuke'意味着执行默认操作。 “注定”的存在意味着修改核武器目标。