Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Membandingkan Rentetan Versi Python dengan Tepat?

Bagaimana untuk Membandingkan Rentetan Versi Python dengan Tepat?

Barbara Streisand
Barbara Streisandasal
2024-11-12 15:00:03304semak imbas

How to Accurately Compare Python Version Strings?

Cara Membandingkan Rentetan Versi Python dengan Anggun

Apabila bekerja dengan pakej Python, selalunya perlu membandingkan nombor versi. Walau bagaimanapun, membandingkan versi rentetan boleh membawa kepada hasil yang salah, kerana susunan rentetan mungkin tidak sepadan dengan pesanan versi sebenar.

Untuk menangani isu ini, Python menyediakan kelas packaging.version.Version, yang menyokong PEP 440 gaya susunan rentetan versi. Kaedah ini membolehkan perbandingan rentetan versi yang tepat, dengan mengambil kira aksara khas dan pengecam prakeluaran.

Menggunakan Versi adalah mudah:

from packaging.version import Version

version1 = Version("2.3.1")
version2 = Version("10.1.2")

print(version1 < version2)  # True

Berbeza dengan perbandingan rentetan asli, Versi dengan betul mengiktiraf bahawa "2.3.1" kurang daripada "10.1.2".

Pilihan lain, walaupun tidak digunakan, ialah distutils.version. Walaupun ia tidak didokumenkan dan mematuhi PEP 386 yang sudah lapuk, ia mungkin masih ditemui:

from distutils.version import LooseVersion

version1 = LooseVersion("2.3.1")
version2 = LooseVersion("10.1.2")

print(version1 < version2)  # True

Walau bagaimanapun, distutils.version mempunyai had dan tidak mengendalikan versi PEP 440 dengan betul.

Ringkasnya, untuk membandingkan rentetan versi Python dengan tepat dan dengan cara Pythonic, gunakan packaging.version.Version.

Atas ialah kandungan terperinci Bagaimana untuk Membandingkan Rentetan Versi Python dengan Tepat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn