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

How to pass a string as an argument in python without "namespace"

如何在 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 

这是我的命令 运行:

python test.py bob

这是我的输出:

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

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

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

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。