تقنية

ConfigParser في بايثون: هل len يساوي عدد sections؟

قسمان عاديان دون DEFAULT
القائمة العادية. [1] [2]

القائمة العادية وواجهة القاموس لا تعدان المداخل نفسها. [1] [2]

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

لا؛ len(p) يشمل المدخل الخاص DEFAULT هنا. [1] [2]

  • نضيف قسمين فارغين: a وb. [1] [2]
  • قائمة sections() تحتوي قسمين. [1] [2]
  • len(p) يعطي 3. [1] [2]
  • التكرار يعرض DEFAULT ثم a ثم b. [1] [2]
  • اختبرنا 3.12.14 في الذاكرة دون ملفات. [1] [2]

المثال

from configparser import ConfigParser
p=ConfigParser()
p.read_dict({'a':{},'b':{}})
print(len(p),len(p.sections()))
print(list(p))

[1] [2]

ما الذي يعده كل مسار؟

المصدر هنا يستثني القسم الخاص من sections()، ويضيف مدخلًا في عد واجهة القاموس. المخرجان 3 2 ثم ['DEFAULT','a','b']. هذا عد المداخل، لا الخيارات. [1] [2]

ثلاثة مداخل مع DEFAULT
واجهة القاموس. [1] [2]

النطاق

حتى دون قسم عادي، نجد len(p)=1 وقائمة أقسام فارغة. نستخدم المحلل الأصلي؛ لا نفحص ملفًا أو استيفاء قيم أو فئة مخصصة. [1] [2]

المراجع

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

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

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