نحلل بايتات مؤلفة ينقصها حد الإغلاق. [1] [2] [3] [4]
الخلاصة السريعة
السياسة تحدد التسجيل أو رفع العيب هنا. [1] [2] [3] [4]
- مع default يرجع كائن؛ قائمة عيوبه تضم CloseBoundaryNotFoundDefect. [1] [2] [3] [4]
- strict ترفع العيب نفسه؛ يطبع الفرع raised. [1] [2] [3] [4]
- البداية --own موجودة؛ النهاية --own-- غائبة. [1] [2] [3] [4]
- إضافة النهاية الصحيحة تعطي [] ثم accepted في فحصنا. [1] [2] [3] [4]
- اختبرنا 3.12.14 دون إرسال أو ملف خارجي. [1] [2] [3] [4]
المثال
from email.parser import BytesParser
from email import policy
from email.errors import CloseBoundaryNotFoundDefect as E
raw=b'Content-Type: multipart/mixed; boundary=own\n\n--own\nContent-Type: text/plain\n\nTZ\n'
m=BytesParser(policy=policy.default).parsebytes(raw)
print([type(d).__name__ for d in m.defects])
try:
BytesParser(policy=policy.strict).parsebytes(raw)
except E:
print('raised')
else:
print('accepted')العيب والسياسة
العيب هنا في الجذر ذي الأجزاء. السياسة الصارمة تضبط raise_on_defect=True؛ الافتراضية تسجل العيب. رجوع كائن لا يثبت خلوه من العيوب؛ راجع قائمتها. [1] [2] [3] [4]

الإغلاق والحدود
نضيف --own-- في سطر جديد للمقارنة. حد باسم مختلف لا يغلق هذا المثال. لم نفحص جميع العيوب أو رسالة واردة حقيقية؛ السياسة لا تثبت وصول بريد أو صحته الشاملة. [1] [2] [3] [4]
المراجع
- Python: email.errors
- CPython3.12.14: feedparser.py
- CPython3.12.14: _policybase.py
- Python3.12: strict policy
- موضوع تك: لغة بايثون — مفردات
- موضوع تك: تطبيقات بايثون — مفردات
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
