我有以下python程序:
#!/usr/bin/env python
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('arg', choices=['foo', 'bar', 'baz'], default='foo', nargs='*')
args = parser.parse_args()
print(args)
Run Code Online (Sandbox Code Playgroud)
如果我像这样调用程序:
./prog.py
Run Code Online (Sandbox Code Playgroud)
输出是
Namespace(arg='foo')
Run Code Online (Sandbox Code Playgroud)
但是如果我foo以参数的形式调用程序:
./prog.py foo
Run Code Online (Sandbox Code Playgroud)
输出是
Namespace(arg=['foo'])
Run Code Online (Sandbox Code Playgroud)
题
如何才能获得arg默认值list?
我试过了
我尝试过设置,default=['foo']但结果是:
prog.py: error: argument arg: invalid choice: ['foo'] (choose from 'foo', 'bar', 'baz')
Run Code Online (Sandbox Code Playgroud)