Wie vergleiche ich Versionsnummern in Python zuverlässig?

Mary-Kate Olsen
Freigeben: 2024-11-22 06:44:12
Original
212 Leute haben es durchsucht

How to Reliably Compare Version Numbers in Python?

Versionsnummern in Python vergleichen

Beim Durchsuchen eines Verzeichnisses, das mehrere Versionen desselben Eies enthält, stellen Sie sicher, dass nur die neueste Version hinzugefügt wird zum sys.path kann aufgrund der nicht intuitiven Reihenfolge der Versionszeichenfolgen beim Vergleich eine Herausforderung darstellen Zeichenfolgen.

Verwendung von „package.version“

Python bietet eine elegante Lösung durch das Modul „packaging.version“, das die Reihenfolge von Versionszeichenfolgen im PEP 440-Stil unterstützt. Dieses Modul bietet die Version-Klasse, mit der Versionen genau verglichen werden können.

from packaging.version import Version

# Example:
version1 = Version("2.3.1")
version2 = Version("10.1.2")
print(version1 < version2)  # True
Nach dem Login kopieren

Legacy-Methoden

Eine ältere Methode zum Vergleichen von Versionszeichenfolgen ist distutils.version . Es ist jedoch veraltet und entspricht dem ersetzten PEP 386. Es bietet zwei Klassen, LooseVersion und StrictVersion.

from distutils.version import LooseVersion, StrictVersion

# LooseVersion compares versions loosely:
version1 = LooseVersion("2.3.1")
version2 = LooseVersion("10.1.2")
print(version1 < version2)  # True

# StrictVersion is stricter in its comparison:
version1 = StrictVersion("2.3.1")
version2 = StrictVersion("10.1.2")
print(version1 < version2)  # True

# However, it doesn't recognize valid PEP 440 versions as strict:
version1 = StrictVersion("1.3.a4")
print(version1)  # ValueError: invalid version number '1.3.a4'
Nach dem Login kopieren

Fazit

Beim Vergleich von Versionsnummern in Python package.version bietet eine zuverlässige und elegante Lösung. Es entspricht der aktuellen PEP 440-Spezifikation und bietet eine saubere und übersichtliche API für den Versionsvergleich.

Das obige ist der detaillierte Inhalt vonWie vergleiche ich Versionsnummern in Python zuverlässig?. 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