例如:
import argparse
parser = arparse.ArgumentParser()
# parser.add_argument(...) ...
args = parser.parse_args(args_list)
问题是,parser.parse_args
如果args_list
. 是否有一个设置可以让它引发更友好的异常?如果有任何解决方法,我不想捕获SystemExit
并从中提取所需的错误消息。
例如:
import argparse
parser = arparse.ArgumentParser()
# parser.add_argument(...) ...
args = parser.parse_args(args_list)
问题是,parser.parse_args
如果args_list
. 是否有一个设置可以让它引发更友好的异常?如果有任何解决方法,我不想捕获SystemExit
并从中提取所需的错误消息。
你可以使用
args, unknown = parser.parse_known_args(args_list)
然后,任何未知的参数都将简单地返回到unknown
.
例如,
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--bar', action='store_true')
parser.add_argument('cheese')
args, unknown = parser.parse_known_args(['--swallow', 'gouda', 'african'])
print(args)
# Namespace(bar=False, cheese='gouda')
print(unknown)
# ['--swallow', 'african']