这个包可以解析和比较语义版本。
项目描述
版本解析器
JavaScript 版本
https://www.npmjs.com/package/version-parser
蟒蛇版本
版本解析器能够解析版本并找出其中哪些是以以下三种格式之一构建的:主要版本、次要版本和构建版本。
可能的输入类型有:
| 版本 | 类型 |
|---|---|
| v1.2.3 | 版本 |
| V1.2.3 | 版本 |
| v_1_2_3 | 文件名 |
| v1_2_3 | 文件名 |
| V_1_2_3 | 文件名 |
| V1_2_3 | 文件名 |
| 1_2_3 | 文件名 |
| 虚拟机1m2b3 | CLASSNAME_BUILD |
| 虚拟机1m2p3 | CLASSNAME_PATCH |
| vm1m2b3 | CLASSNAME_BUILD |
| vM1m2p3 | CLASSNAME_PATCH |
| 1.2.3 | STRIPPED_VERSION |
| 2312 | 数字 |
安装
pip install version-parser
用法
使用版本作为字符串作为初始参数创建对象。
from version_parser import Version
v1 = Version("v2.3.4")
要比较两个版本对象/数字,只需将版本作为字符串放入单独的对象中,然后使用逻辑运算符进行比较。
from version_parser.version import Version
v1 = Version("v2.3.4")
v2 = Version("v2.3.2")
print(v1 < v2)
>> False
print(v1 > v2)
>> True
print(v1 == v2)
>> False
最后一个点后面的最后一个数字应该是补丁或内部版本号。这方面的差异应该相互兼容。
from version_parser.version import Version
v1 = Version("v2.3.4")
v2 = Version("v2.3.5")
print(v1 == v2)
>> False
print(v1.compatible_version_with(v2))
>> True
您还可以使用以下方法仅获取主要、次要或构建版本:
from version_parser import Version
v = Version("v2.3.4")
v.get_major_version()
2
v.get_minor_version()
3
v.get_build_version()
4
也可以转换版本格式:
from version_parser import Version, VersionType
v = Version("v2.3.4") # VersionType = Version
print(v.get_type())
>> VersionType.Version
print(v.get_typed_version(VersionType.FILENAME))
>> v_2_3_4
任何版本都可以用整数表示。
主要版本、次要版本、构建/修补版本的部分最多应包含三个数字。
from version_parser import Version
v = Version("v2.3.4")
print(v.get_number())
>> 2003004
版本类型
版本类型.文件名
"v_<MAJOR>_<MINOR>_<BUILD/PATCH>"
版本类型.CLASSNAME
"VM<MAJOR>m<MINOR>b<BUILD/PATCH>"
版本类型.VERSION
"v<MAJOR>.<MINOR>.<BUILD/PATCH>"
版本类型.STRIPPED_VERSION
"<MAJOR>.<MINOR>.<BUILD/PATCH>"
版本类型.NUMBER
每个部分填充零最多三个数字
"<MAJOR><MINOR><BUILD/PATCH>"
版本类型.CLASSNAME_BUILD
与 CLASSNAME_BUILD 相同
VersionType.CLASSNAME_PATCH
"VM<MAJOR>m<MINOR>p<BUILD/PATCH>"
^
PATCH