"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > पायथन संस्करण स्ट्रिंग्स की सटीक तुलना कैसे करें?

पायथन संस्करण स्ट्रिंग्स की सटीक तुलना कैसे करें?

2024-11-18 को प्रकाशित
ब्राउज़ करें:281

How to Accurately Compare Python Version Strings?

पायथन संस्करण स्ट्रिंग्स की सुरुचिपूर्ण ढंग से तुलना कैसे करें

पायथन पैकेज के साथ काम करते समय, संस्करण संख्याओं की तुलना करना अक्सर आवश्यक होता है। हालाँकि, स्ट्रिंग संस्करणों की तुलना करने से गलत परिणाम हो सकते हैं, क्योंकि स्ट्रिंग क्रम वास्तविक संस्करण क्रम के अनुरूप नहीं हो सकता है।

इस समस्या के समाधान के लिए, पायथन पैकेजिंग.वर्जन.वर्जन क्लास प्रदान करता है, जो पीईपी 440 का समर्थन करता है संस्करण स्ट्रिंग ऑर्डर करने की शैली। यह विधि विशेष वर्णों और पूर्व-रिलीज़ पहचानकर्ताओं को ध्यान में रखते हुए, संस्करण स्ट्रिंग्स की सटीक तुलना की अनुमति देती है।

संस्करण का उपयोग करना सीधा है:

from packaging.version import Version

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

print(version1 

मूल स्ट्रिंग तुलना के विपरीत, संस्करण सही ढंग से पहचानता है कि "2.3.1" "10.1.2" से कम है।

एक अन्य विकल्प, हालांकि बहिष्कृत है, distutils.version है। हालाँकि यह अप्रलेखित है और पुराने PEP 386 के अनुरूप है, फिर भी इसका सामना किया जा सकता है:

from distutils.version import LooseVersion

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

print(version1 

हालाँकि, distutils.version की सीमाएँ हैं और यह PEP 440 संस्करणों को सही ढंग से संभाल नहीं पाता है।

संक्षेप में, Python संस्करण स्ट्रिंग्स की सटीक और पायथोनिक में तुलना करने के लिए रास्ता, पैकेजिंग.संस्करण.संस्करण का उपयोग करें।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3