1. argparse 介绍
argparse模块主要用来为脚本传递命令参数功能,使他们更加灵活。argparse模块作为optparse的替代被添加到Python2.7中,使用方法类似于optparse,但是也加入很多新的特征。
2. argparse 使用
1. 建立解析器
import argparse
parser = argparse.ArgumentParser()
2. 定义参数
argparse是一个全面的参数处理库。当程序中有多个参数,调用parse_args()时,会先识别参数名称所有带前缀'-'的参数,然后再将剩余的参数按照顺序视为对应位置上的参数。
ArgumentParser.add_argument(name or flags..., [action], [nargs], [const], [default], [type], [choices], [required], [help], [metavar], [dest])
下面主要讲一下name or flags 和action:
name or flags:参数的名称,有两种表示方式,可选参数和位置参数。
- 添加可选参数:parser.add_argument('-f', '--foo')
- 添加位置参数:parser.add_argument('bar')
action:指示如何处理命令行参数。有以下可选:
store_const:当从命令出现了这个参数,则保存const中的常量。
store_true、store_false:与上面store_const类似,只是保存的是真假值。举例说明一下:
self.parser.add_argument('--lr_use', action='store_true', default=False, help='if or not use lr_loss')
当在终端运行的时候,如果不加入--lr_use, 那么程序running的时候,lr_use的值为default: False
如果加上了--lr_use,不需要指定True/False,那么程序running的时候,lr_use的值为True