按照官方说法:

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() 所返回对象上的属性名。


posted on 2020-08-30 08:05  sarah33  阅读(285)  评论(0)    收藏  举报