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]是空字符串。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐