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 prenant en compte les caractères spéciaux et les identifiants de pré-version.
L'utilisation de Version est simple :
from packaging.version import Version version1 = Version("2.3.1") version2 = Version("10.1.2") print(version1 < version2) # True
Contrairement à la comparaison de chaînes native, Version correctement reconnaît 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 < version2) # True
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, utilisez packaging.version.Version.
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!