Python argparse command line flags without arguments
如何向命令行参数添加可选标志?
这样我就可以写信了
1 | python myprog.py |
或
1 | python myprog.py -w |
我试过
1 | parser.add_argument('-w') |
但我收到一条错误消息说
1 2 | Usage [-w W] error: argument -w: expected one argument |
我认为这意味着它需要-w选项的参数值。接受国旗的方式是什么?
我发现在这个问题上http://docs.python.org/library/argparse.html相当不透明。
如您所知,参数w在命令行上的-w后面需要一个值。如果您只是想通过设置一个变量
1 2 3 4 | import argparse parser = argparse.ArgumentParser() parser.add_argument('-w', action='store_true') |
编辑:正如Sven指出的,在这种情况下,默认值是多余的。
添加一个快速代码段以准备执行:
来源:myparser.py
1 2 3 4 5 6 | import argparse parser = argparse.ArgumentParser(description="Flip a switch by setting a flag") parser.add_argument('-w', action='store_true') args = parser.parse_args() print args.w |
用途:
1 2 | python myparser.py -w >> True |
这是一种快速的方法,不需要除
如果完整文件名为