python中parse_known_args()和parse_args()函数的区别是什么
更新:HHH   时间:2023-1-7


python中parse_known_args()和parse_args()函数的区别是什么?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

首先导入命令行解析模块

import argparse
import sys

然后创建对象

parse=argparse.ArgumentParser()

然后增加命令行

parse.add_argument("--learning_rate",type=float,default=0.01,help="initial learining rate")
parse.add_argument("--max_steps",type=int,default=2000,help="max")
parse.add_argument("--hidden1",type=int,default=100,help="hidden1")

对于函数add_argumen()第一个是选项,第二个是数据类型,第三个默认值,第四个是help命令时的说明
然后用arg=parse.parse_args(sys.argv[1:])

其中参数sys.argv[1:]是命令行语句中从第一个到最后。如在ubuntu下输入命令行python gg.py --learning_rate 20 --max_steps 10

则sys.argv[1:0]=--learning_rate 20 --max_steps 10

输出的arg为namespace空间,结果是Namespace(hidden1=100, learning_rate=20.0, max_steps=10)
但是parse_known_args()函数输出结果为

te 20 --max_steps 10
20.0
10
100

程序:

import argparse
import sys

parse=argparse.ArgumentParser()
parse.add_argument("--learning_rate",type=float,default=0.01,help="initial learining rate")
parse.add_argument("--max_steps",type=int,default=2000,help="max")
parse.add_argument("--hidden1",type=int,default=100,help="hidden1")
flags,unparsed=parse.parse_known_args(sys.argv[1:])
print flags.learning_rate
print flags.max_steps
print flags.hidden1
print unparsed

输出结果:
20.0
10
100
[]

程序:
20.0
10
100

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注天达云行业资讯频道,感谢您对天达云的支持。

返回开发技术教程...