什么是命名空间对象?

时间:2013-12-29 17:52:46

标签: python argparse

import argparse

parser = argparse.ArgumentParser(description='sort given numbers')
parser.add_argument('-s', nargs = '+', type = int)
args = parser.parse_args()
print(args)

运行命令时在命令行上

python3 file_name.py -s 9 8 76

打印 Namespace(s=[9, 8, 76])

如何访问列表[9,8,76]? 什么是命名空间对象。我在哪里可以了解更多信息?

3 个答案:

答案 0 :(得分:15)

  • 可以找到argparse.Namespace的文档here
  • 您可以通过s
  • 访问args.s属性
  • 如果您想将其作为字典访问,则可以执行vars(args),这意味着您也可以vars(args)['s']

答案 1 :(得分:2)

result object that argparse returns;命名的项目是属性:

print(args.s)

这是一个非常简单的对象,故意如此。您解析的参数是此对象的属性(名称由long选项确定,或者如果设置,则为dest参数)。

答案 2 :(得分:0)

你可以访问args.s,NameSpace类是故意简单的,只是一个带有可读字符串表示的对象子类。如果您希望使用类似dict的属性视图,则可以使用标准Python惯用法,即vars()。 Source