python argparse模块
argparse 模块是用来让 python 程序接收来自命令行的参数的
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--phase', default='test', help='train or test [default: test]')
parser.add_argument('--gan', default='False', action='store_true')
FLAGS = parser.parse_args()
phase = FLAGS.phase
gan = FLAGS.gan
print(phase, gan)
python ./xx.py --phase train --gan
>>> train True
其中对于True/False类型的参数,为了简单起见,使用参数 action='store_false'
或 action='store_true'
来实现
action='store_true'
代表着一旦使用这个参数,就做出动作“将其值标为True”,也就是没有时,默认状态下其值为False;action='store_false'
也就是默认为True,一旦命令中有此参数,其值则变为False。
parser = argparse.ArgumentParser()
parser.add_argument('--foo', action='store_true')
parser.add_argument('--bar', action='store_false')
如上所述,若命令行中使用python test.py --foo
,则--foo参数在命令中存在,则被置为True;而--bar参数在命令中不存在,则保持默认,同样为True。