我有一个解析可选--list出头的选项蟒蛇选项解析器。 我也希望--list出头的选项有一个可选的参数(选项)
使用参数default="simple"
并不在这里工作,否则简单的将永远是默认的,不仅当被赋予--list-东西。
from optparse import OptionParser, OptionGroup
parser = OptionParser()
options = OptionGroup(parser, "options")
options.add_option("--list-something",
type="choice",
choices=["simple", "detailed"],
help="show list of available things"
)
parser.add_option_group(options)
opts, args = parser.parse_args()
print opts, args
上面的代码是生产这样的:
[jens@ca60c173 ~]$ python main.py --list-something simple
{'list_something': 'simple'} []
[jens@ca60c173 ~]$ python main.py --list-something
Usage: main.py [options]
main.py: error: --list-something option requires an argument
[jens@ca60c173 ~]$ python main.py
{'list_something': None} []
但我想这hapen:
[jens@ca60c173 ~]$ python main.py --list-something simple
{'list_something': 'simple'} []
[jens@ca60c173 ~]$ python main.py --list-something
{'list_something': 'simple'} []
[jens@ca60c173 ~]$ python main.py
{'list_something': None} []
我想的东西开箱的在Python 2.4截止到3.0(3.0不包括在内)
由于argparse在Python 2.7只介绍这是不是我可以使用。