Membandingkan Rentetan Versi dalam Python
Apabila bekerja dengan direktori yang mengandungi berbilang versi perisian yang sama, adalah penting untuk mengenal pasti dan menggunakan hanya yang terkini versi. Ini memerlukan perbandingan nombor versi, yang boleh mencabar kerana perbandingan rentetan mungkin tidak menghasilkan hasil yang tepat.
Perbandingan Khusus Pakej
Python menyediakan penyelesaian piawai untuk membandingkan rentetan versi menggunakan modul packaging.version. Kelas Versi menyokong susunan gaya PEP 440, yang selaras dengan konvensyen yang digunakan oleh pakej Python moden.
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).")
Pendekatan ini menyediakan kaedah yang boleh dipercayai dan konsisten untuk membandingkan rentetan versi dalam pakej Python.
Perbandingan Legasi
Walaupun packaging.version disyorkan, kaedah lapuk wujud dalam bentuk distutils.versi. Walau bagaimanapun, kaedah ini tidak didokumenkan dan mematuhi PEP 386 yang kini digantikan, menjadikannya tidak serasi dengan amalan versi Python semasa.
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).")
Adalah penting untuk ambil perhatian bahawa LooseVersion menganggap versi PEP 440 sebagai "tidak ketat" dan tidak mematuhi logik perbandingan versi yang sama seperti Versi. Selain itu, StrictVersion menganggap versi PEP 440 tidak sah dan akan menimbulkan ralat apabila digunakan dengan versi sedemikian.
Atas ialah kandungan terperinci Bagaimanakah saya boleh membandingkan rentetan versi dengan pasti dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!