تقنية

Generator في بايثون: أي سطر From يتغير في الجسم؟

إضافة بادئة للسطر المطابق
مع True. [1] [2]

نسلسل رسالة نصية مؤلفة إلى StringIO. [1] [2]

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

يتغير السطر الذي يبدأ بـFrom ومسافة مع True. [1] [2]

  • يصير From cedar إلى >From cedar في الخرج. [1] [2]
  • from cedar وFrom: cedar و>From cedar لا تتغير هنا. [1] [2]
  • False يبقي نص الجسم في خرجنا. [1] [2]
  • آخر طباعة True؛ حمولة كائننا لم تتغير. [1] [2]
  • اختبرنا 3.12.14؛ لا ملف mbox أو إرسال بريد. [1] [2]

المثال

from email.message import Message
from email.generator import Generator
from io import StringIO
m=Message();m['Subject']='OWN'
s='From cedar\nfrom cedar\nFrom: cedar\n>From cedar\n'
m.set_payload(s)
for flag in (False,True):
 out=StringIO()
 Generator(out,mangle_from_=flag).flatten(m)
 print(repr(out.getvalue().split('\n\n',1)[1]))
print(m.get_payload()==s)

[1] [2]

بداية السطر

الشرط هنا في الجسم، لا اسم رأس المرسل. الحرف الكبير والمسافة وموقع البداية جزء من المطابقة. مررنا الخيار صراحة؛ نفصل الجسم بعد السطر الفارغ لعرضه. [1] [2]

أسطر غير مطابقة تبقى
في المثال. [1] [2]

الخرج والكائن

الحمولة الأصلية بقيت في فحصنا. نطاقنا رسالة ASCII مفردة؛ لا ضمان لكل كائن أو نوع رسالة. [1] [2]

المراجع

  1. Python: email.generator
  2. CPython3.12.14: generator.py
  3. موضوع تك: لغة بايثون — مفردات
  4. موضوع تك: تطبيقات بايثون — مفردات

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

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