在python中,命令行解析的很好用,
首先導(dǎo)入命令行解析模塊
import argparseimport sys
然后創(chuàng)建對(duì)象
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")對(duì)于函數(shù)add_argumen()第一個(gè)是選項(xiàng),第二個(gè)是數(shù)據(jù)類型,第三個(gè)默認(rèn)值,第四個(gè)是help命令時(shí)的說明
然后用arg=parse.parse_args(sys.argv[1:])
其中參數(shù)sys.argv[1:]是命令行語句中從第一個(gè)到最后。如在ubuntu下輸入命令行python gg.py --learning_rate 20 --max_steps 10
則sys.argv[1:0]=--learning_rate 20 --max_steps 10
輸出的arg為namespace空間,結(jié)果是Namespace(hidden1=100, learning_rate=20.0, max_steps=10)
但是parse_known_args()函數(shù)輸出結(jié)果為
te 20 --max_steps 10
20.0
10
100
程序:
import argparseimport sysparse=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_rateprint flags.max_stepsprint flags.hidden1print unparsed輸出結(jié)果:
20.0
10
100
[]
程序:
20.0
10
100
這兩個(gè)函數(shù)的功能差不多
新聞熱點(diǎn)
疑難解答
圖片精選