如何在没有" namespace"

时间:2017-05-16 20:31:19

标签: python argparse

如何在python中传递字符串作为参数,而不包含"命名空间"。

这是我的代码:

import argparse
parser = argparse.ArgumentParser()
parser.add_argument("person", help="person to test",type=str)
person = str(parser.parse_args())
print "The person's name is " + person 

这是我正在运行的命令:

python test.py bob

这是我的输出:

The person's name is Namespace(person='bob')

我可能会做一些花哨的分裂,但我确定我只是错误地利用了argparse(我是python的新手),如果有人能告诉我如何正确传递一个字符串像这样我会非常感激它。

1 个答案:

答案 0 :(得分:8)

命名空间是参数解析结果的容器。您可以通过在命名空间中查找它们来访问各个参数值​​:

import argparse
parser = argparse.ArgumentParser()
parser.add_argument("person", help="person to test",type=str)
args = parser.parse_args()
print "The person's name is " + args.person

docs有一些很好的例子,展示了如何使用argparse。