我正在写一个脚本,我需要比较binnaries的版本,所以例如我需要得到10.2.3大于10.1.30。如果我删除点,我会得到1023和10130,这颠倒了我的比较。
10.2.3 > 10.1.30 == 1023 !> 10130
直到现在,我出来的唯一解决方案是:
1. do split(".") on version number
2. for each elemet of list i got, check if len() is eq 1 , add one zero from the left.
3. glue all elements together and get int (10.1.30 will became 100130).
4. process second version number same way and compare both as regular ints.
这样:
10.2.3 > 10.1.30 == 100203 > 100130
这是比较版本还是其他版本的唯一方法?
答案 0 :(得分:1)
您可以借用distutils
及其后继者用于比较版本号
from distutils.version import StrictVersion # Or LooseVersion, if you prefer
if StrictVersion('10.2.3') > StrictVersion('10.2'):
print "10.2.3 is newer"
答案 1 :(得分:0)
您可以尝试:
list(map(int, '10.2.3'.split('.'))) > list(map(int, '10.1.30'.split('.')))
Out[216]: True