带有必需子解析器的Argparse
我正在使用Python 3.4,正在尝试argparse与子解析器一起使用,并且我希望具有与Python 2.x中类似的行为,如果我不提供位置参数(以指示子解析器/子程序)我会收到一条有用的错误消息。即,随着python2我将得到以下错误消息: $ python2 subparser_test.py usage: subparser_test.py [-h] {foo} ... subparser_test.py: error: too few arguments 我正在required按照https://stackoverflow.com/a/22994500/3061818中的建议设置属性,但是这给我Python 3.4.0带来了错误: TypeError: sequence item 0: expected str instance, NoneType found-完全回溯: $ python3 subparser_test.py Traceback (most recent call last): File "subparser_test.py", line 17, in <module> args = parser.parse_args() File "/usr/local/Cellar/python3/3.4.0/Frameworks/Python.framework/Versions/3.4/lib/python3.4/argparse.py", line 1717, in parse_args …