如何優雅地比較 Python 版本字串
使用 Python 套件時,通常需要比較版本號。然而,比較字串版本可能會導致不正確的結果,因為字串順序可能與實際版本順序不符。
為了解決這個問題,Python 提供了 Packaging.version.Version 類,它支援 PEP 440版本字串排序的樣式。此方法允許準確比較版本字串,同時考慮特殊字元和預發布標識符。
使用 Version 很簡單:
from packaging.version import Version version1 = Version("2.3.1") version2 = Version("10.1.2") print(version1 < version2) # True
與本機字串比較不同,Version 正確辨識「2.3.1」小於「10.1.2」。
另一個選項,雖然已棄用,但是distutils.版本。雖然它沒有記錄並且符合過時的 PEP 386,但仍然可能會遇到:
from distutils.version import LooseVersion version1 = LooseVersion("2.3.1") version2 = LooseVersion("10.1.2") print(version1 < version2) # True
但是,distutils.version 有限制,無法正確處理 PEP 440 版本。
總之,為了以Pythonic方式準確比較Python版本字串,請使用package.version.Version。
以上是如何準確比較Python版本字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!