تقنية

truncate في BytesIO: هل تعني القيمة المعادة تمديد المحتوى؟

العائد وطول محتوى BytesIO
تفسير توضيحي [1] [2]

قارن العائد بالمحتوى الفعلي. [1] [2]

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

لا؛ بقي بايتان في مثالنا. [1] [2]

  • مخزن BytesIO يحوي AB. [1] [2]
  • طلب truncate(5) يعيد 5. [1] [2]
  • يبقى المحتوى AB؛ طوله 2. [1] [2]
  • تحكم truncate(1) يعطي A بطول 1. [1] [2]
  • فحص 3.12.14؛ في الذاكرة فقط. [1] [2]

المثال

مخزن BytesIO يحوي AB. [1] [2]

from io import BytesIO
with BytesIO(b"AB") as stream:
    n=stream.truncate(5)
    data=stream.getvalue()
print(n,len(data),data)

[1] [2]

الطلب والطول

طلب truncate(5) يعيد 5. [1] [2]

يبقى المحتوى AB؛ طوله 2. [1] [2]

يقلص التنفيذ المحتوى للطلب الأصغر؛ لا يمدده للطلب الأكبر هنا. [1] [2]

النتيجة: 5 2 ثم AB. [1] [2]

طلب أكبر وتحكم أصغر
تفسير توضيحي [1] [2]

التحكم والنطاق

تحكم truncate(1) يعطي A بطول 1. [1] [2]

فحص 3.12.14؛ في الذاكرة فقط. [1] [2]

هذا سلوك BytesIO المختبر؛ لا نعممه على ملفات القرص. [1] [2]

المراجع

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

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

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