"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية مقارنة سلاسل إصدار بايثون بدقة؟

كيفية مقارنة سلاسل إصدار بايثون بدقة؟

تم النشر بتاريخ 2024-11-18
تصفح:263

How to Accurately Compare Python Version Strings?

كيفية مقارنة سلاسل إصدار بايثون بشكل أنيق

عند العمل مع حزم بايثون، غالبًا ما يكون من الضروري مقارنة أرقام الإصدارات. ومع ذلك، يمكن أن تؤدي مقارنة إصدارات السلسلة إلى نتائج غير صحيحة، حيث قد لا يتوافق ترتيب السلسلة مع ترتيب الإصدار الفعلي.

لمعالجة هذه المشكلة، توفر بايثون فئة Packaging.version.Version، التي تدعم PEP 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 بدقة وبلغة Pythonic الطريقة، استخدم package.version.Version.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3