Python - 参数解析:argparse模块
0 前言
argparse 是python自带的命令行参数解析包,可以用来方便地读取命令行参数,当你的代码需要频繁地修改参数的时候,使用这个工具可以将参数和代码分离开来,让你的代码更简洁,适用范围更广。
1 argparse模块(内置库)
argparse模块是Python的内置库,无需安装
通过argparse模块,可以像使用CMD命令或者Linux命令一样调用py文件或者exe文件
进一步学习可参考以下文章:
浅入浅出python中的argparse模块
argparse模块导入方式
import argparse
1.1 方法列表
① 使用以下方法创建parser类:
parser = argparse.ArgumentParser()
ArgumentParser 的参数 | 说明 |
---|---|
description='str' | help下parser解析器的说明 |
② 使用以下方法给parser增加一个参数:
parser.add_argument()
add_argument 的参数 | 说明 |
---|---|
default= | 没有设置值情况下的默认参数 |
required= | 如果设置了required=True ,则在实际运行的时候不设置该参数将报错 |
type= | 默认的参数类型是str类型,如果你的程序需要一个整数或者布尔型参数,你需要设置type=int 或type=bool |
choices=[] | 参数值只能从几个选项里面选择 |
help='' | 指定参数的说明信息,在命令行用-h起效 |
dest= | argparse默认的变量名是–或-后面的字符串,但是你也可以通过dest=xxx来设置参数的变量名,然后在代码中用args.xxx来获取参数的值 |
nargs= | 设置参数在使用可以提供的个数N 参数的绝对个数(例如:3)? 0或1个参数* 0或所有参数+ 所有,并且至少一个参数 |
③ 使用以下方法获得参数解析结果:
args = parser.parse_args()
1.2 示例
import argparse
def get_args():
parser = argparse.ArgumentParser(description='argparse')
parser.add_argument('--cd', '-c', help='working direction', required=True)
parser.add_argument('--debug', '-d', choices=['N', 'Y'], default='N', required=False, help='debug mode, print all')
args = parser.parse_args()
return args
if __name__ == '__main__':
args = get_args()
if(args.debug == 'Y')
# code
在命令行通过以下方式调用:
python test.py -c C:/ -d Y
或者生成exe后调用
test -c C:/ -d Y