代码test.py:
import argparseimport 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
运行 python test.py --learning_rate 20 --max_steps 10 --hidden1 100 --arg_int 2
其效果等同于python test.py --learning_rate=20 --max_steps=10 --hidden1=100 --arg_int=2
输出:
20.0
10
100
['--arg_int', '2']
flags为namespace空间,结果是Namespace(hidden1=100, learning_rate=20.0, max_steps=10),包含程序定义了的命令行参数,而unparsed为程序没有定义的命令行参数。
参考博客: