如何在命令行参数中添加可选标志?
例如 . 所以我可以写
python myprog.py
要么
python myprog.py -w
我试过了
parser.add_argument('-w')
但我只是收到一条错误消息
Usage [-w W]
error: argument -w: expected one argument
我认为它意味着它需要-w选项的参数值 . 接受国旗的方式是什么?
我发现http://docs.python.org/library/argparse.html在这个问题上相当不透明 .
3 回答
正如你所拥有的那样,参数w在命令行上的-w之后需要一个值 . 如果您只是想通过设置变量
True
或False
来切换开关,请查看http://docs.python.org/dev/library/argparse.html#action(特别是store_true和store_false)Edit: 正如Sven所指出的,在这种情况下,默认值是多余的 .
添加快速代码段以准备执行:
Source: myparser.py
Usage:
这里's a quick way to do it, won' t除了
sys
之外还需要任何东西..虽然功能有限:flag = "--flag" in sys.argv[1:]
如果完整文件名是
--flag
,则为[1:]