Maison > Article > développement back-end > Comment comparer de manière fiable les numéros de version en Python ?
Comparaison des numéros de version en Python
Lorsque vous parcourez un répertoire contenant plusieurs versions du même œuf, assurez-vous que seule la dernière version est ajoutée au sys.path peut poser un défi en raison de l'ordre non intuitif des chaînes de version lorsque l'on les compare comme strings.
Utilisation de packaging.version
Python fournit une solution élégante via le module packaging.version, qui prend en charge l'ordre des chaînes de version de style PEP 440. Ce module propose la classe Version, qui peut être utilisée pour comparer les versions avec précision.
from packaging.version import Version # Example: version1 = Version("2.3.1") version2 = Version("10.1.2") print(version1 < version2) # True
Méthodes héritées
Une ancienne méthode pour comparer les chaînes de version est distutils.version . Cependant, il est obsolète et adhère au PEP 386 remplacé. Il fournit deux classes, LooseVersion et StrictVersion.
from distutils.version import LooseVersion, StrictVersion # LooseVersion compares versions loosely: version1 = LooseVersion("2.3.1") version2 = LooseVersion("10.1.2") print(version1 < version2) # True # StrictVersion is stricter in its comparison: version1 = StrictVersion("2.3.1") version2 = StrictVersion("10.1.2") print(version1 < version2) # True # However, it doesn't recognize valid PEP 440 versions as strict: version1 = StrictVersion("1.3.a4") print(version1) # ValueError: invalid version number '1.3.a4'
Conclusion
Lors de la comparaison des numéros de version en Python, packaging.version offre une solution fiable et élégante. Il adhère à la spécification PEP 440 actuelle et fournit une API claire et concise pour la comparaison des versions.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!