"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment comparer avec précision les chaînes de version Python ?

Comment comparer avec précision les chaînes de version Python ?

Publié le 2024-11-18
Parcourir:747

How to Accurately Compare Python Version Strings?

Comment comparer élégamment les chaînes de versions de Python

Lorsque vous travaillez avec des packages Python, il est souvent nécessaire de comparer les numéros de version. Cependant, comparer les versions de chaînes peut conduire à des résultats incorrects, car l'ordre des chaînes peut ne pas correspondre à l'ordre réel des versions.

Pour résoudre ce problème, Python fournit la classe packaging.version.Version, qui prend en charge le PEP 440. style d’ordre des chaînes de version. Cette méthode permet une comparaison précise des chaînes de version, en tenant compte des caractères spéciaux et des identifiants de version préliminaire.

L'utilisation de la version est simple :

from packaging.version import Version

version1 = Version("2.3.1")
version2 = Version("10.1.2")

print(version1 

Contrairement à la comparaison de chaînes native, Version reconnaît correctement que "2.3.1" est inférieur à "10.1.2".

Une autre option, bien que obsolète, est distutils.version. Bien qu'il ne soit pas documenté et soit conforme au PEP 386 obsolète, il peut toujours être rencontré :

from distutils.version import LooseVersion

version1 = LooseVersion("2.3.1")
version2 = LooseVersion("10.1.2")

print(version1 

Cependant, distutils.version a des limites et ne gère pas correctement les versions PEP 440.

En résumé, pour comparer les chaînes de version Python avec précision et de manière Pythonique façon, utilisez packaging.version.Version.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3