如何在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的新手),如果有人能告诉我如何正确传递一个字符串像这样我会非常感激它。
答案 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。