内容记录
参数:
- formatter_class: A class for customizing the help output
formatted: a computer program used for formatting.
解析一个命令行
定义了所有参数之后,你就可以给 parse_args() 传递一组参数字符串来解析命令行。
默认情况下,参数是从 sys.argv[1:] 中获取,但你也可以传递自己的参数列表。选项是使用GNU/POSIX语法来处理的,所以在序列中选项和参数值可以混合。
parse_args() 的返回值是一个命名空间,包含传递给命令的参数。
该对象将参数保存其属性,因此如果你的参数 dest 是 “myoption”,
那么你就可以 args.myoption 来访问该值。
parse_known_args
ArgumentParser.parse_known_args(args=None, namespace=None)¶
有时一个脚本可能只解析部分命令行参数,而将其余的参数继续传递给另一个脚本或程序。
在这种情况下,parse_known_args() 方法会很有用处。
它的作用方式很类似 parse_args() 但区别在于当存在额外参数时它不会产生错误。
而是会返回一个由两个条目构成的元组,其中包含带成员的命名空间和剩余参数字符串的列表。
parser = argparse.ArgumentParser()
parser.add_argument('--foo', action='store_true')
parser.add_argument('bar')
parser.parse_known_args(['--foo', '--badger', 'BAR', 'spam'])
(Namespace(bar='BAR', foo=True), ['--badger', 'spam'])