تقنية

shorten في بايثون: هل يحفظ الخيار False الفراغات؟

فراغان يصبحان فراغًا واحدًا
النقطة تمثل مسافة. [1] [2]

نفحص replace_whitespace=False مع shorten. [1] [2]

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

لا؛ shorten يطوي الفراغات قبل تمرير النص إلى أداة اللف. [1] [2]

  • في المدخل فراغان بين dock وkite. [1] [2]
  • مع width=9 يعود dock kite بفراغ واحد. [1] [2]
  • طول الناتج 9؛ لم تُحذف كلمة. [1] [2]
  • مع width=8 واللاحقة .. يعود dock... [1] [2]
  • اختبرنا 3.12.14؛ False لم يمنع هذه الخطوة السابقة. [1] [2]

المثال

import textwrap as t
s='dock  kite'
u=t.shorten(s,width=9,placeholder='..',
            replace_whitespace=False)
print(repr(u))
print(len(u))

[1] [2]

لماذا لا يحفظ الخيار الفراغين؟

الطي هنا يسبق TextWrapper.fill. لهذا لا يعيد خيار اللف الفراغات التي أزيلت سلفًا. يتحول طول المدخل من 10 إلى 9، فيسع الناتج الحد المحدد دون اللاحقة. [1] [2]

عرض ثمانية يحذف الكلمة الأخيرة
لاحقة المثال نقطتان. [1] [2]

العرض وحد الفحص

عندما نخفض العرض إلى 8، لا تسع الكلمتان معًا. تُحذف الأخيرة وتلحق .. بالأولى؛ الناتج طوله 6. تغيير الخيار إلى True يبقي نتيجة العرض 9 نفسها. نحصر الفحص في نصنا القصير، لا عرض البكسلات. [1] [2]

المراجع

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

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

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