如何将可选标志添加到我的命令行参数?
例如:这样我就可以写
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在这个问题上相当不透明。
发布于 2011-11-24 23:01:57
如您所知,参数w
在命令行中的-w
之后需要一个值。如果您只是想通过设置变量True
或False
来翻转开关,那么可以查看here (特别是store_true和store_false)
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-w', action='store_true')
其中action='store_true'
表示default=False
。
相反,您可以使用action='store_false'
,这意味着default=True
。
发布于 2016-05-03 10:07:13
这里有一个快速的方法,除了sys
之外不需要任何东西。尽管功能有限:
flag = "--flag" in sys.argv[1:]
如果完整文件名为--flag
,则为[1:]
https://stackoverflow.com/questions/8259001
复制相似问题