تقنية

break_long_words=False في textwrap: هل يبقى كل سطر ضمن width؟

width=4; break_long_words=False: length 7.
كلمة بطول سبعة.

break_long_words=False يمنع تقسيم الكلمة الطويلة؛ قد يتجاوز طول السطر width في wrap. [1]

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

لا؛ السطر أطول من الحد في مثالنا. [1]

  • break_long_words=False يمنع تقسيم الكلمة الطويلة؛ قد يتجاوز طول السطر width في wrap. [1]
  • على CPython 3.12.14، النص budleaf كلمة ASCII متصلة من سبعة محارف؛ نطلب width=4. [1]
  • own=wrap("budleaf",width=4,break_long_words=False) تعيد قائمة فيها budleaf كاملة؛ طول السطر 7، أكبر من 4. [1]
  • تحكم: control=wrap("budleaf",width=4) تترك تقسيم الكلمات الطويلة بافتراضي True؛ الناتج budl ثم eaf. [1]
  • طولا سطري التحكم 4 و3؛ كل منهما ضمن الحد. نقارن تقسيم الكلمة وحفظها، دون شرطات أو فراغات أو قياس عرض خط بالبكسل. [1]

استثناء الكلمة الطويلة

break_long_words=False يمنع تقسيم الكلمة الطويلة؛ قد يتجاوز طول السطر width في wrap. [1]

النص والحد

على CPython 3.12.14، النص budleaf كلمة ASCII متصلة من سبعة محارف؛ نطلب width=4. [1]

الكلمة دون تقسيم

own=wrap("budleaf",width=4,break_long_words=False) تعيد قائمة فيها budleaf كاملة؛ طول السطر 7، أكبر من 4. [1]

from textwrap import wrap own=wrap("budleaf",width=4,break_long_words=False) print(own) print(list(map(len,own))) [1]

width=4; default splitting: lengths 4, 3.
سطران بطولي أربعة وثلاثة.

الافتراضي والتحكم

تحكم: control=wrap("budleaf",width=4) تترك تقسيم الكلمات الطويلة بافتراضي True؛ الناتج budl ثم eaf. [1]

control=wrap("budleaf",width=4) print(control) print(list(map(len,control))) [1]

طولا سطري التحكم 4 و3؛ كل منهما ضمن الحد. نقارن تقسيم الكلمة وحفظها، دون شرطات أو فراغات أو قياس عرض خط بالبكسل. [1]

المراجع

  1. Python wrap and long words

للتوسع: لغات البرمجة.

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