So vergleichen Sie Python-Versionszeichenfolgen elegant
Bei der Arbeit mit Python-Paketen ist es oft notwendig, Versionsnummern zu vergleichen. Der Vergleich von String-Versionen kann jedoch zu falschen Ergebnissen führen, da die String-Reihenfolge möglicherweise nicht der tatsächlichen Versionsreihenfolge entspricht.
Um dieses Problem zu beheben, stellt Python die Klasse „packaging.version.Version“ bereit, die PEP 440 unterstützt Stil der Reihenfolge der Versionszeichenfolgen. Diese Methode ermöglicht den genauen Vergleich von Versionszeichenfolgen unter Berücksichtigung von Sonderzeichen und Vorabversionskennungen.
Die Verwendung von Version ist unkompliziert:
from packaging.version import Version version1 = Version("2.3.1") version2 = Version("10.1.2") print(version1Im Gegensatz zum nativen String-Vergleich erkennt Version korrekt, dass „2.3.1“ kleiner als „10.1.2“ ist.
Eine weitere Option, wenn auch veraltet, ist distutils.version. Obwohl es nicht dokumentiert ist und dem veralteten PEP 386 entspricht, kann es dennoch auftreten:
from distutils.version import LooseVersion version1 = LooseVersion("2.3.1") version2 = LooseVersion("10.1.2") print(version1Distutils.version weist jedoch Einschränkungen auf und verarbeitet PEP 440-Versionen nicht korrekt.
Zusammenfassend für den genauen und pythonischen Vergleich von Python-Versionszeichenfolgen Verwenden Sie auf diese Weise package.version.Version.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3