我遇到了这个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
是什么意思?如何检索培训路径?
感谢。
答案 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()
args
是argparse.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