我现在在Python中使用getopt并了解一些基本用法。 但我想知道是否有办法在一个选项后解析两个或多个参数。
e.g。
python test.py -a 111 -b 222 333
如何同时获得' 222'和ō 333'当我解析选项' -b'。实际上我只能抓住' 222'。
答案 0 :(得分:1)
你会使用argparse(为什么选择optparse,为什么?):
>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('--foo', action='append')
>>> parser.parse_args('--foo 1 --foo 2'.split())
Namespace(foo=['1', '2'])
从文档中: https://docs.python.org/3/library/argparse.html
例如:
python test.py -a 111 -b 222 -b 333 -b 4444
答案 1 :(得分:0)
参数'nargs'可以在argparse中执行此操作。
>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('--foo', nargs=2)
>>> parser.add_argument('bar', nargs=1)
>>> parser.parse_args('c --foo a b'.split())
Namespace(bar=['c'], foo=['a', 'b'])
e.g。
python --foo 111 222