3 回答

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超6個(gè)贊
parse_version()
easy_install
pip
解析了PEP 440定義的項(xiàng)目版本字符串。返回的值將是一個(gè)表示版本的對(duì)象。這些對(duì)象可以相互比較和排序。排序算法是由PEP 440定義的,另外,任何不是有效PEP 440版本的版本都將被認(rèn)為小于任何有效的PEP 440版本,無(wú)效版本將繼續(xù)使用原始算法進(jìn)行排序。
在語(yǔ)義上,這種格式是distutils‘ StrictVersion
和 LooseVersion
類;如果您提供的版本將與 StrictVersion
然后他們會(huì)用同樣的方式進(jìn)行比較。否則,比較更像是一種“更聰明”的 LooseVersion
..可以創(chuàng)建病態(tài)版本編碼方案來(lái)欺騙這個(gè)解析器,但是在實(shí)踐中它們應(yīng)該是非常罕見(jiàn)的。
如果您想確定所選的編號(hào)方案按照您認(rèn)為的方式工作,則可以使用 pkg_resources.parse_version()
函數(shù)來(lái)比較不同的版本號(hào): >>> from pkg_resources import parse_version>>> parse_version('1.9.a.dev') == parse_version('1.9a0dev')True>>> parse_version('2.1-rc2') < parse_version('2.1')True>>> parse_version('0.6a9dev-r41475') < parse_version('0.6a9')True
from packaging import version version.parse('1.0.3.dev')from pkg_resources import parse_version parse_version('1.0.3.dev')

TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超7個(gè)贊
>>> (2,3,1) < (10,1,1)True>>> (2,3,1) < (10,1,1,1)True>>> (2,3,1,10) < (10,1,1,1)True>>> (10,3,1,10) < (10,1,1,1)False>>> (10,3,1,10) < (10,4,1,1)True
添加回答
舉報(bào)