如何優雅地比較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與本機字串比較不同,Version 可以正確辨識「2.3.1」小於「10.1.2」。
另一個選項,儘管已棄用,是 distutils.version。雖然它沒有記錄並且符合過時的 PEP 386,但仍然可能會遇到:
from distutils.version import LooseVersion version1 = LooseVersion("2.3.1") version2 = LooseVersion("10.1.2") print(version1然而,distutils.version 有局限性,無法正確處理 PEP 440 版本。
總之,為了準確地比較 Python 版本字串並以 Pythonic 方式方式,使用 Packaging.version.Version.
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3