当前位置:   article > 正文

python判断2个版本号大小_python 比较不同位数版本号大小一样吗

python 比较不同位数版本号大小一样吗

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

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/312409
推荐阅读
相关标签
  

闽ICP备14008679号