版本比较函数

版本如:2.3.3,如果要进行比较的话,裸写代码还是有点小麻烦的,需要将字符串按'.'号进行分拆,然后再一个一个转成整数进行比较。其实各语言里都有现成的版本比较函数。

PHP里进行版本使用version_compare,原型如下:

mixed version_compare ( string $version1 , string $version2 [, string $operator ] )

$operator取值为<lt<=、 le>、 gt>=、 ge==、 =eq、 !=<> 和 ne。

Python里版本比较举例如下:

>>> from distutils.version import LooseVersion, StrictVersion
>>> LooseVersion("2.3.1") < LooseVersion("10.1.2")
True
>>> StrictVersion("2.3.1") < StrictVersion("10.1.2")
True
>>> StrictVersion("1.3.a4")
Traceback (most recent call last):
...
ValueError: invalid version number '1.3.a4'

StrictVersion合法举例:

0.4       0.4.0  (these two are equivalent)
0.4.1
0.5a1
0.5b3
0.5
0.9.6
1.0
1.0.4a3
1.0.4b1
1.0.4

StrictVersion不合法的举例:

1
2.7.2.2
1.3.a4
1.3pl1
1.3c4

LooseVersion限制比较宽松,举例如下:

1.5.1
1.5.2b2
161
3.10a
8.02
3.4j
1996.07.12
3.2.pl0
3.1.1.6
2g6
11g
0.960923
2.2beta29
1.13++
5.5.kw
2.0b1pl0

 

发表于 2016年04月25日 17:28   评论:0   阅读:3184  



回到顶部

首页 | 关于我 | 关于本站 | 站内留言 | rss
python logo   django logo   tornado logo