Comparaison des chaînes de versions en Python
Lorsque vous travaillez avec des répertoires contenant plusieurs versions du même logiciel, il est crucial d'identifier et d'utiliser uniquement la dernière version. Cela nécessite de comparer les numéros de version, ce qui peut être difficile car les comparaisons de chaînes peuvent ne pas donner des résultats précis.
Comparaisons spécifiques au package
Python fournit une solution standardisée pour comparer les chaînes de version. en utilisant le module packaging.version. La classe Version prend en charge l'ordre de style PEP 440, qui s'aligne sur les conventions utilisées par les packages Python modernes.
from packaging.version import Version version1 = Version("2.3.1") version2 = Version("10.1.2") if version1 < version2: print("Version 1 (2.3.1) is older than Version 2 (10.1.2).")
Cette approche fournit une méthode fiable et cohérente pour comparer les chaînes de version dans les packages Python.
Comparaisons héritées
Bien que packaging.version soit recommandé, une méthode obsolète existe sous la forme de distutils.version. Cependant, cette méthode n'est pas documentée et est conforme à la norme PEP 386, désormais remplacée, ce qui la rend incompatible avec les pratiques actuelles de gestion des versions Python.
from distutils.version import LooseVersion, StrictVersion version1 = LooseVersion("2.3.1") version2 = LooseVersion("10.1.2") if version1 < version2: print("Version 1 (2.3.1) is older than Version 2 (10.1.2).")
Il est important de noter que LooseVersion traite les versions PEP 440 comme « non strictes » et n'adhère pas à la même logique de comparaison de versions que Version. De plus, StrictVersion considère les versions PEP 440 comme invalides et génère une erreur lorsqu'elle est utilisée avec de telles 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!