argparse是Python标准库推荐的梦灵行解析模块。具体用法参见《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]
是空字符串。