تقنية

رؤوس البريد في بايثون: لماذا يعد Message الاسم المكرر مرتين؟

رأسان باسم X-Own يحملان R وS
اسم واحد وظهوران. [1] [2]

تشابه واجهة الإسناد لا يجعل الرؤوس قاموسًا عاديًا. [1] [2]

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

يعد len الرؤوس المكررة أيضًا. [1] [2]

  • نستخدم Message بسياسة compat32 الافتراضية. [1] [2]
  • إسناد الاسم نفسه يضيف رأسًا، ولا يستبدل السابق. [1] [2]
  • أضفنا X-Own بقيمتي R وS. [1] [2]
  • يعيد len العدد 2، وget_all القيمتين. [1] [2]
  • اختبرنا 3.12.14؛ لا نعمم على كل السياسات والرؤوس. [1] [2]

المثال

from email.message import Message
m=Message()
m['X-Own']='R'
m['X-Own']='S'
print(len(m))
print(m.get_all('X-Own'))

[1] [2]

المخرجان 2 ثم ['R', 'S']. [1] [2]

ماذا بقي بعد الإسناد؟

الإسناد الثاني أبقى القيمة الأولى وأضاف الثانية. نعد ظهورين للرأس؛ ليس العدد هنا عدد الأسماء المختلفة. [1] [2]

len يعيد 2 وget_all يعيد R وS
عد الرؤوس وجمع قيمها. [1] [2]

حدود التجربة

الاسم والقيم مؤلفة. لم نرسل بريدًا أو نثبت صلاحية رسالة فعلية؛ قواعد الرؤوس والسياسات تحتاج مراجعة منفصلة. [1] [2]

المراجع

  1. Python: Message compat32
  2. CPython 3.12.14: email/message.py
  3. موضوع تك: لغة بايثون — مفردات
  4. موضوع تك: تطبيقات بايثون — مفردات

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