按照官方说法:
1.argparse模块可以让人轻松编写用户友好的命令行接口
2.自动生成帮助和使用手册
3.用户给程序传入无效参数时报出错误信息
在自动化测试框架代码中看到过argparse库,大概知道是支持从命令行传入参数,今天练习下~
1.导入这个包,argparse是python标准库,不需要安装
2.创建一个ArgumentParser对象,构造一个解析器parser。自定义description
parser = argparse.ArgumentParser(description="求长方形求面积")
3.调用add_argument()添加参数,这里添加两个位置参数ab。
type表示接收的数据类型,不定义默认为str,因为这里要计算面积,需要int类型
help参数为提示信息,后面会看到效果
parser.add_argument("a", type=int, help="长度")
parser.add_argument("b", type=int, help="宽度")
4.再添加一个可选参数 --info -i 表示参数简写
parser.add_argument("-i", "--info", help="我是可选参数")
5.调用parse_args(),读取命令行传入的参数,并进行解析后,存储或者执行相关的操作
args = parser.parse_args()
来命令行测试下
import argparse parser = argparse.ArgumentParser(description="求长方形求面积") parser.add_argument("a", type=int, help="长度") parser.add_argument("b", type=int, help="宽度") parser.add_argument("-i", "--info", help="我是可选参数") args = parser.parse_args() s = args.a*args.b print(args) print(s) if args.info: print("传入可选参数,才能看到")
附上add_argument参数说明:
name or flags - 一个命名或者一个选项字符串的列表,例如 foo 或 -f, --foo。
action - 当参数在命令行中出现时使用的动作基本类型。
nargs - 命令行参数应当消耗的数目。
const - 被一些 action 和 nargs 选择所需求的常数。
default - 当参数未在命令行中出现时使用的值。
type - 命令行参数应当被转换成的类型。
choices - 可用的参数的容器。
required - 此命令行选项是否可省略 (仅选项可用)。
help - 一个此选项作用的简单描述。
metavar - 在使用方法消息中使用的参数值示例。
dest - 被添加到 parse_args() 所返回对象上的属性名。
原文:https://www.cnblogs.com/sarah33/p/13579390.html