【发布时间】:2019-12-03 11:55:16
【问题描述】:
试图将 argparse 参数值分配给变量。然后将变量分配为“variable=argument=value”,而不仅仅是“variable=value”。
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("test", help="test")
args = parser.parse_args()
variable = args.test
print(variable)
我希望打印的结果是分配给测试的结果。假设程序运行为:
python program.py test=something
打印的结果应该是:
something
实际输出为:
test=something
【问题讨论】:
-
将您的论点定义为
optional,以---test作为标志。 -
我有必须定义的位置参数才能运行程序。一种丑陋的方法,虽然有效但看起来很糟糕,是在 variable = args.test.replace('test=','') 中进行替换
-
或其他解决方案 - 使用'python program.py something`
-
不要将
argparse中的positionals和optionals与positional与keyword函数参数混淆。
标签: python-2.7 argparse