首页 > 编程语言 >python判断2个版本号大小

python判断2个版本号大小

时间:2023-05-04 14:23:48浏览次数:58  
标签:判断 v1 版本号 list len python str cv

摘自:https://blog.csdn.net/lizy0327/article/details/121164549

此方法唯一的“限制”就是要求版本号之间默认是以.为连接的,当然如果是其他字符连接的话,完全可以在split修改即可,所以严格意义上来说这也不算限制,只能是默认传入的版本号是以.为连接而已。

此外,对于版本号是否长度相等,版本号是否是数字、英文、甚至是数字和英文混合形式,都统统好使。(默认情况下英文字母大于所有int类型的数字)。

class CheckVersion(object):
 
    def compare(self, version1, version2):
        # 版本号转换为list,使用str是为了兼容版本里带字母的情况
        v1 = [str(x) for x in str(version1).split('.')]
        v2 = [str(x) for x in str(version2).split('.')]
 
        # 如果2个版本号位数不一致,后面使用0补齐,使2个list长度一致,便于后面做对比
        if len(v1) > len(v2):
            v2 += [str(0) for x in range(len(v1) - len(v2))]
        elif len(v1) < len(v2):
            v1 += [str(0) for x in range(len(v2) - len(v1))]
 
        # 对2个list进行排序,小的排在前面
        list_sort = sorted([v1, v2])
 
        print(list_sort[0], list_sort[1])
        # 对排序后的list判断大小
        if list_sort[0] == list_sort[1]:
            print("版本号:{0:12} 等于 版本号:{1:12}".format(version1, version2))
        elif list_sort[0] == v1:
            print("版本号:{0:12} 小于 版本号:{1:12}".format(version1, version2))
        else:
            print("版本号:{0:12} 大于 版本号:{1:12}".format(version1, version2))
 
 
if __name__ == '__main__':
    cv = CheckVersion()
    cv.compare('2.ab.1.b', 'str')
    cv.compare('2.ab.1.b', 's.t.r')
    cv.compare('2.ab.1.b', '3.0')
    cv.compare('2.ab.1.b', '2.c.0.1')
    cv.compare('2.0.1.2', '2.0.2.1')
    cv.compare('2.0.1.2', '3')

 

标签:判断,v1,版本号,list,len,python,str,cv
From: https://www.cnblogs.com/LiuYanYGZ/p/17371085.html

相关文章

  • python 迭代器
    在Python3中,迭代器是一种可以逐个访问集合元素的对象,它实现了迭代协议(IteratorProtocol),即该对象必须具有__iter__()和__next__()方法。__iter__() 方法返回迭代器对象本身。__next__() 方法返回下一个元素。当没有更多的元素时,__next__()方法应引发StopIteration......
  • Python爬虫需要哪些基础
    Python爬虫是指使用Python语言编写程序,自动化地访问Web页面并抓取其中的信息。以下是Python爬虫的基础知识:爬虫的工作原理:爬虫程序通过网络请求获取Web页面的HTML源码,然后使用正则表达式或解析器提取所需要的信息。常用的爬虫库:Python中常用的爬虫库包括requests、BeautifulSoup......
  • shell 版本号比较_用shell如何比较软件版本号的大小
    摘自:https://blog.51cto.com/u_13753753/5554564 比如你想写个脚本来比较两个版本号(如"1.2.30"和"1.3.0")来辨认哪个版本是最新的,有可以比较两个版本号字符串的shell脚本吗?当你写了一个shell脚本,想使用脚本来比较两个版本号,然后能区分哪个版本号更高哪个版本号更低。比如,你......
  • python 装饰器
    装饰器(Decorator)是Python语言中的一种高级技巧,可以在不改变原有代码的基础上,动态地给函数或类增加额外的功能。本质上,装饰器就是一个普通函数,它可以接受一个或多个参数,并且返回一个函数作为结果。装饰器的语法如下:@decorator_functiondeffunction_to_be_decorated():#F......
  • python 为什么在python脚本中import就可以引用别人的包
    目录python为什么在python脚本中import就可以引用别人的包编写一个包打包。发布到PyPIpython为什么在python脚本中import就可以引用别人的包Python中的import语句可以将已有的代码模块导入到当前的程序中,方便我们复用代码。如果你想让别人在其电脑上导入你写的包,有以下几......
  • python 内置函数map()、filter()函数
    map()函数接受两个参数:第一个参数是一个函数,第二个参数是一个可迭代对象(如列表、元组等)。该函数会将可迭代对象中的每个元素依次传递给第一个参数指定的函数,并返回一个新的可迭代对象,其中每个元素都是原始对象经过该函数转换后的结果。具体来说,map()函数会将可迭代对象中的每个......
  • python 函数
    在Python中,函数是一段代码块,用于完成特定的任务。函数通常接受一个或多个参数,并返回一个结果。根据函数的定义方式和参数类型,可以将Python函数分为以下几类:内置函数:Python内置了很多常用的函数,如 print()、len()、int() 等。自定义函数:使用 def 关键字可以自定义函数......
  • python 匿名函数(lambda函数)
    Python中的匿名函数是指没有命名标识符的函数,通常被称为lambda函数。与普通函数不同,它们是一种更加简洁的方式来编写小型临时函数。在Python中,匿名函数使用关键字lambda来定义,其语法如下:lambdaarguments:expression其中,arguments表示函数参数,可以是一个或多个,多个参数之间用......
  • python+playwright 学习-24 判断页面元素状态的几种方式
    前言在操作元素之前,可以先判断元素的状态。判断元素操作状态也可以用于断言。常用的元素判断方法page对象调用的判断方法,传一个selector定位参数page.is_checked(selector:str)#checkboxorradio是否选中page.is_disabled(selector:str)#元素是否可以点击或编辑page.i......
  • 【Python】orm 按日期分类
    1.Trunc#获取每个月count总数fromdjango.db.modelsimportSumfromdjango.db.models.functionsimportTruncmodels.NafpComplete.objects.filter().annotate(month=Trunc('point_time','month')).values('month').annotate(count=Sum('......