如何在没有"namespace"的情况下在python中传递字符串作为参数

Vin*_*ris 2 python argparse

如何在python中传递一个字符串作为参数而不包含"Namespace"的输出.

这是我的代码:

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 
Run Code Online (Sandbox Code Playgroud)

这是我正在运行的命令:

python test.py bob
Run Code Online (Sandbox Code Playgroud)

这是我的输出:

The person's name is Namespace(person='bob')
Run Code Online (Sandbox Code Playgroud)

我可能会做一些花哨的分裂,但我确定我只是错误地利用了argparse(我是python的新手),如果有人能告诉我如何正确传递这样的字符串,我会极大地贬低它.

Fam*_*ous 9

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

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
Run Code Online (Sandbox Code Playgroud)

这些文档有一些很好的例子,展示了如何使用argparse.