تقنية

ConfigParser في بايثون: هل fallback يتجاوز قيمة DEFAULT؟

القيمة الموروثة تتقدم على البديل
الموجود. [1] [2]

غياب القيمة المحلية لا يعني غياب الخيار. [1] [2]

الخلاصة السريعة

لا؛ قيمة DEFAULT تسبق fallback. [1] [2]

  • قسم own فارغ. [1] [2]
  • الخيار tag موجود في DEFAULT بقيمة bud. [1] [2]
  • طلب tag مع بديل leaf يعيد bud. [1] [2]
  • طلب absent غير الموجود يعيد leaf. [1] [2]
  • اختبرنا 3.12.14 في الذاكرة وعطلنا الاستيفاء. [1] [2]

المثال

from configparser import ConfigParser
c=ConfigParser(
    interpolation=None)
c.read_dict({
    'DEFAULT':{'tag':'bud'},
    'own':{}})
print(c.get('own','tag',
    fallback='leaf'))
print(c.get('own','absent',
    fallback='leaf'))

[1] [2]

لماذا لم يظهر البديل؟

المصدر هنا يبحث في خيارات القسم والافتراضيات قبل اللجوء إلى البديل. لذلك المخرجان bud ثم leaf: الأول وجد قيمة موروثة، والثاني لم يجد الخيار. لا يحفظ fallback قيمة جديدة في القسم. [1] [2]

الخيار الغائب يعيد leaf
الغائب. [1] [2]

مقارنة والنطاق

إذا أضفنا tag محليًا بقيمة twig، تعاد twig قبل الافتراضي والبديل. نقصر المثال على get والقسم الموجود؛ لا نحذف قيمة أو نقرأ ملف إعدادات فعليًا. [1] [2]

المراجع

  1. Python 3.12: ConfigParser fallback values
  2. CPython 3.12.14: configparser.py
  3. موضوع تك: لغة بايثون — مفردات
  4. موضوع تك: تطبيقات بايثون — مفردات

للتوسع: بحث عن لغات البرمجة

أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.