真没 想到 Python 执行参数 & 枚举可以如此优秀

2644 篇文章 26 订阅
2350 篇文章 14 订阅

1. 定义

argparse 是 Python 标准库里面用来处理命令行参数的库

命令行参数分为位置参数和选项参数

位置(必选)参数:前面不需要-或者–-

可选参数:

通过一个-来指定的短参数, 例如:-h

通过–-来指定的长参数,例如:–help

import argparse

# 获取控制台传递的参数,可以使用 python test.py -h来查看可以传哪些参数
parser=argparse.ArgumentParser()
parser.add_argument('-k', '--keyword', help='只执行匹配关键字的用例,会匹配文件名、类名、方法名', type=str)
parser.add_argument('-ms', '--measured_server', help='指定被测服务器', type=str)
parser.add_argument('-n', '--thread', help='开启多少线程,默认为3', type=str)
parser.add_argument('-d', '--dir', help='指定要测试的目录', type=str)
parser.add_argument('-sq', '--priority_level', help='只运行符合给定的优先级别的测试用例', type=str)
parser.add_argument('-m', '--markexpr', help='只运行符合给定的mark表达式的测试', type=str)
parser.add_argument('-t','--try',help="try again",type=str)
args=parser.parse_args()
print(args)

2. 使用示例

python test.py -k=ui 表示执行优先级为1的case

Input内容

#可以通过传入关键词ui来执行以下的代码逻辑
if(args.keyword=="api"):
    print("api")
elif(args.keyword=="ui"):
    print("ui")
else:
    pass

Output内容
输出结果:ui

3. 枚举类型

枚举类型可以看作是一种标签或是一系列常量的集合,通常用于表示某些特定的有限集合。

在 Python 中,枚举和我们在对象中定义的类变量一样,即一个类变量一个枚举项。

enum模块是系统内置模块,一般使用的最多的就是 enum 模块中的 Enum、IntEnum、unique这几项。

使用时需注意:

  • 枚举类不能用来实例化对象
  • 访问枚举类中的某一项,直接使用类名访问加上要访问的项即可,比如 COLOR.YELLOW
  • 枚举类里面定义的 Key = Value,在类外部不能修改 Value
  • 枚举项可以用来比较,使用==或者is
  • 导入 Enum 之后,一个枚举类中的 Key 和 Value,Key 不能相同,Value 可以相同,但是 Value 相同的各项 Key 都会当做别名
  • 如果要枚举类中的 Value 只能是整型数字,那么可以导入IntEnum,然后继承IntEnum即可,注意此时,如果 value为字符串的数字,也不会报错

4. Python使用实例

class COLOR():
    RED=0
    GREEN=1
    PINK=2
    YELLOW=3
    RED=4

print(COLOR.RED)#此处打印的类变量是最后定义的一个类变量值

#上面类变量定义重复后会覆盖掉前面定义的
#我们可以使用IntEnum来定义不重复的整形枚举值
from enum import IntEnum
class COLOR1(IntEnum):
    RED=0
    GREEN=1
    PINK=2
    YELLOW=0
    # RED=4

print(COLOR1.RED==0) #枚举项==比较操作
print(COLOR1.RED is COLOR1.YELLOW) #枚举项is比较操作
print(COLOR1.RED)#此时为报错,因为类变量的值重复了
print(COLOR1.RED.name) #打印枚举名称
print(COLOR1.RED.value)#打开枚举值


#使用列表来存放枚举的值
from enum import Enum,unique
@unique
class test(Enum):
    currency=["1","currency","RMB"]
    hk=["2","hk","HK"]
    usd=["3","usd","USD"]

if __name__ == '__main__':
    print(test.currency.name)#打印枚举名称
    print(test.currency.value)#打开枚举值
    print(type(test.currency.value))
    print(test.currency.value[0])#使用索引取值并打印
    print(test.currency.value[1])
    print(test.currency.value[2])

以上就是今天分享的全部内容了,为了更好的理解执行参数与枚举,建议多多练习!


资源分享

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走…

在这里插入图片描述

喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一 键三连哦!
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值