如何用Python比较版本号的大小

Python015

如何用Python比较版本号的大小,第1张

# -*- coding: utf-8 -*-__author__ = 'ypp' import re def versionCompare(v1="1.1.1", v2="1.2"):v1_check = re.match("\d+(\.\d+){0,2}", v1)v2_check = re.match("\d+(\.\d+){0,2}", v2)if v1_check is None or v2_check is None or v1_check.group() != v1 or v2_check.group() != v2:return "版本号格式不对,正确的应该是x.x.x,只能有3段"v1_list = v1.split(".")v2_list = v2.split(".")v1_len = len(v1_list)v2_len = len(v2_list)if v1_len >v2_len:for i in range(v1_len - v2_len):v2_list.append("0")elif v2_len >v1_len:for i in range(v2_len - v1_len):v1_list.append("0")else:passfor i in range(len(v1_list)):if int(v1_list[i]) >int(v2_list[i]):return "v1大"if int(v1_list[i]) <int(v2_list[i]):return "v2大"return "相等" # 测试用例print(versionCompare(v1="", v2=""))print(versionCompare(v1="1.0.a", v2="d.0.1"))print(versionCompare(v1="1.0.1", v2="1.0.1"))print(versionCompare(v1="1.0.2", v2="1.0.1"))print(versionCompare(v1="1.0.1", v2="1.0.2"))print(versionCompare(v1="1.0.11", v2="1.0.2"))

设计思想:

1.使用正则表达式判断版本号格式是否正确

2.将字符串用”.”分隔成数组

3.比较数组长度,将长度短的数组用“0”补齐成相等长度数组

4.逐个遍历数组元素,比较大小

测试用例:

1.版本号为空

2.版本号含非数字

3.版本号长度不一致

4.版本号以点为分隔,逐位比较

Python目前主流的版本是Python2和Python3,两者都相对较稳定。查看Python版本的方法如下:

首先,将如下路径(根据安装时设置的路径而变)添加到环境变量的path中(环境变量中的用户变量和系统变量均可,我添加的是用户变量的path中):

E:PyCharmpython-3.6.5,因为python.exe在这个文件夹中,

然后,在命令提示符中输入python --version,显示当前的版本号,如下图: