在Python中使用argparse

时间:2016-05-23 18:34:38

标签: python argparse

我遇到了这个Python脚本:

parser = ap.ArgumentParser() 
parser.add_argument("-t", "--trainingSet", help="Path to Training Set", required="True")
args = vars(parser.parse_args())
train_path = args["trainingSet"]

我没有得到的要点是:

  • 我们如何在命令行中使用这些参数:" -t"," - trainingSet",help ="训练集的路径&#34 ;,required =" True"?

  • args是什么意思?如何检索培训路径?

感谢。

1 个答案:

答案 0 :(得分:1)

创建parser对象:

parser = ap.ArgumentParser() 

向解析器添加一个参数定义(它创建一个Action对象,尽管你不必在此担心)。

parser.add_argument("-t", "--trainingSet", help="Path to Training Set", required="True")

告诉parser解析sys.argv中可用的命令行参数。这是命令行shell(bash或dos)创建的字符串列表。

args = parser.parse_args()

argsargparse.Namespace个对象。它是一个简单的对象类。 vars将其转换为字典

argdict = vars(args)

这是普通的词典访问

train_path = argdict["trainingSet"]

你可以从命名空间中获得相同的东西

train_path = args.trainingSet

我建议您查看args

print args

使用此parser定义,命令行如

$ python myprog.py -t astring    # or
$ python myprog.py --trainingSet anotherstring

最终会将train_path设置为相应的字符串值。代码的其余部分可以使用该值。

help参数将显示在帮助消息中,例如

$ python myprog.py -h

required参数表示如果您不提供此参数,parser将引发错误,例如

$ python myprog.py