【python】argparse 参数解析

1、模块介绍
玩过linux的会看到过这种场景:

使用"命令 --help"会把这个命令的用法、选项、说明都给列出来,非常直观。
在python中,经常写脚本,如果使用到命令行传参,头一次你可能知道该传递什么参数,时间久了,再次使用这个脚本,怕是代码要重新读一遍。如果能和linux一样,通过--help就能查询脚本怎么传参,岂不是很方便了吗。正好工作中也遇到了这个场景,接触到了一个python库:argparse,它可以帮助实现我们想要的效果。
使用argparse模块可以轻松编写用户友好的命令行接口,自动生成帮助和使用手册,并在用户传入无效参数时报出错误信息。
2、模块安装
不用安装,python自带,我使用的python版本是3.8.6.
3、模块使用
总共分成了三步调用
3.1 实例化一个ArgumentParser
参数含义
description: 描述你这个程序功能
3.2 调用add_argument()方法
参数含义
dest: 属性名字,就是你在获取参数的时候,可以通过这个属性名字获取对应的参数值
type: 类型,比如str, int, dict, list, set等等,规定你输入的参数的类型
help: 帮助说明,你这个参数含义是啥
choices: 选择题,你输入的参数只能是choices中指定的值,输入其他值会报错
nargs: 你这个参数要输入几个,比如你要输入的参数是这样的: --fruit ”apple“ "banana",那nargs=2
但是要注意当你在程序中取fruit的值的时候,返回的结果是:
const: 当nargs的值设置为'?'时,在这儿设置const,代码中取该参数的值就会取到const的值。传参的时候你只需要传入选项,而不用在选项后面跟值。
required: 你的这个参数是否必须要通过命令行输入,如果是,设置为True,否则设置为False。
default: 设置默认值,如果你命令行没有输入该选项的值,程序中会取默认值
3.3 获取选项值
通过dest属性获取值
这儿附上完整调试代码:
观看下效果:

脚本传参使用:

4、参考文档
https://docs.python.org/zh-cn/3.8/library/argparse.html

argparse模块,使用上面这些功能已经能解决我工作上的需求了,如果后续又有其他需求,再查找资料补充。欢迎共同讨论。