Heim > Backend-Entwicklung > Python-Tutorial > Wie vergleiche ich Python-Versionszeichenfolgen genau?

Wie vergleiche ich Python-Versionszeichenfolgen genau?

Barbara Streisand
Freigeben: 2024-11-12 15:00:03
Original
286 Leute haben es durchsucht

How to Accurately Compare Python Version Strings?

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(version1 < version2)  # True
Nach dem Login kopieren

Im Gegensatz zum nativen Zeichenfolgenvergleich wird die Version korrekt angezeigt erkennt, 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(version1 < version2)  # True
Nach dem Login kopieren

Distutils.version weist jedoch Einschränkungen auf und verarbeitet PEP 440-Versionen nicht korrekt.

Zusammenfassend lässt sich sagen, dass Sie zum genauen und pythonischen Vergleichen von Python-Versionszeichenfolgen „packaging.version.Version.

“ verwenden

Das obige ist der detaillierte Inhalt vonWie vergleiche ich Python-Versionszeichenfolgen genau?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage