argparse是Python用于解析命令行参数和选项的标准模块,,使得编写用户友好的命令行接口非常容易。程序只需定义好它要求的参数,然后argparse将负责如何从sys.argv中解析出这些参数。argparse模块还会自动生成帮助和使用信息并且当用户赋给程序非法的参数时产生错误信息。
1、命令行参数分为位置参数和选项参数:
位置参数就是程序根据该参数出现的位置来确定的
如:[root@openstack_1 /]# ls root/ #其中root/是位置参数
选项参数是应用程序已经提前定义好的参数,不是随意指定的
如:[root@openstack_1 /]# ls -l # -l 就是ls命令里的一个选项参数
2、使用步骤:
(1)import argparse 首先导入模块
(2)parser = argparse.ArgumentParser() 创建一个解析对象
(3)parser.add_argument() 向该对象中添加你要关注的命令行参数和选项
(4)parser.parse_args() 进行解析
3、argparse.ArgumentParser()方法参数须知:一般我们只选择用description
prog=None - 程序名
description=None, - help时显示的开始文字
epilog=None, - help时显示的结尾文字
parents=[], -若与其他参数的一些内容一样,可以继承
formatter_class=argparse.HelpFormatter, - 自定义帮助信息的格式
prefix_chars='-', - 命令的前缀,默认是‘-’
fromfile_prefix_chars=None, - 命令行参数从文件中读取
argument_default=None, - 设置一个全局的选项缺省值,一般每个选项单独设置
conflict_handler='error', - 定义两个add_argument中添加的选项名字发生冲突时怎么处理,默认处理是抛出异常
add_help=True - 是否增加-h/--help选项,默认是True)
4、add_argument()方法参数须知:
name or flags… - 必选,指定参数的形式,一般写两个,一个短参数,一个长参数
ArgumentParser.add_argument(
name or flags...选项字符串的名字或者列表,例如foo或者-f,-foo
[, action] 在命令行遇到该参数时采取的基本动作类型
[, nargs] 应该读取的命令行参数数目
[, const] 某些action和nargs选项要求的常数值。
[, default] 如果命令行中没有出现该参数时的默认值。
[, type] 命令行参数应该被转换成的类型。
[, choices] 参数可允许的值的一个容器。
[, required]
[, help] 参数的简短描述
[, metavar] 参数在帮助信息中的名字。
[, dest]) 给parse_args()返回的对象要添加的属性名称。