使用一个先进的模块名为argparse,跟unix程序的命令行参数很像。
直接对code做个笔记:
import sys
import argparse
def main(args):
print('first name directory: %s' % args.first_name)
print('first para : %s' % args.first_para)
print('second para : %s' % args.second_para)
def parse_arguments(argv):
parser = argparse.ArgumentParser()
#位置参数和可选参数的先后顺序没有要求,但是方便起见,位置参数一般都写在前面
#位置参数之间有先后顺序
parser.add_argument('first_para', type=str,
help='first input parameter ', default='aa') #第一个参数 ,必须输入
parser.add_argument('--first_name', type=str,
help='str first name.', default='tensorflow') #可选参数,
parser.add_argument('second_para', type=str,
help='second input parameter.', default='bb') #第二个参数 ,必须输入
parser.add_argument('--gpu_memory_fraction', type=float,
help='The amount of GPU memory ', default=1.0)
parser.add_argument('--max_epochs', type=int,
help='Number of epochs to run.', default=50)
parser.add_argument('--random_flip',
help='no command line value type', action='store_true')
parser.add_argument('--optimizer', type=str, choices=['ADAGRAD', 'ADADELTA', 'ADAM', 'RMSPROP', 'MOM'],
help='The optimization to use', default='ADAGRAD')
return parser.parse_args(argv)
if __name__ == '__main__':
main(parse_arguments(sys.argv[1:]))