argparse.Namespace对象详解

argparsePython标准库推荐的梦灵行解析模块。具体用法参见《argparse简化版图片教程》
关于命名空间和作用域,先参考《Python中NameSpace与Scope详解》

  • class argparse.Namespace

    parse_args()默认使用的简单类,用于创建一个包含属性的对象,并返回这个对象。

    这个类很简单,就是一个包含字符串表示的 object子类。如果你更习惯用字典样式查看属性,你可以用标准的Python用语, vars():

    >>> parser = argparse.ArgumentParser()
    >>> parser.add_argument('--foo')
    >>> args = parser.parse_args(['--foo', 'BAR'])
    >>> vars(args)
    {'foo': 'BAR'}
    

    ArgumentParser为已有对象分配属性,而非新建一个Namespace,也可能很有用。可以通过namespace=***关键字参数***来指定。

    >>> class C:
    ...     pass
    ...
    >>> c = C()
    >>> parser = argparse.ArgumentParser()
    >>> parser.add_argument('--foo')
    >>> parser.parse_args(args=['--foo', 'BAR'], namespace=c)
    >>> c.foo
    'BAR'
    
  • ArgumentParser.parse_args(args=None, namespace=None)

    将字符串参数转为对象,并将他们作为属性分配为命名空间。

    返回填充的命名空间。

    前一个调用add_argument() 确定创建了什么对象以及如何分配他们。

    参数 数据类型 意义
    args 需解析的字符串列表。默认从sys.argv获取
    namespace 一个接受属性的对象。默认是一个新的Namespace对象
  • sys.argv

    Python的一条内置命令。

    传给Python脚本的命令行参数。

    argv[0]是脚本名字(它依赖操作系统无论是否是一个完整的路径名)。如果解释器用-c命令行选项执行命令行,argv[0]设置为’-c’。如果没有脚本名字传递给Python解析器,arg[0]是空字符串。

你可能感兴趣的:(#,小白学Python)