التابع BZ2Decompressor.decompress()‎ في بايثون

من موسوعة حسوب


يفكّ التابع الضغط عن البيانات المعطاة (كائن شبيه بالبايتات bytes-like) ويعيد البيانات الناتجة عن عملية فك الضغط على هيئة بايتات.

البنية العامة

decompress(data, max_length=-1)

‎المعاملات

data

البيانات المراد فك ضغطها.

max_length

ن كانت قيمة المعامل max_length عددًا لا يحمل الإشارة السالبة فإنّ التابع سيعيد على الأكثر العدد المحدّد في هذا المعامل من البايتات من البيانات التي جرى فك الضغط عنها.

إن وصل التابع إلى القيمة المحدّدة في هذا المعامل وكان هناك المزيد من المخرجات التي يمكن إنتاجها، تُسند القيمة False إلى الخاصية needs_input. وفي هذه الحالة، يمكن أن يقدّم الاستدعاء اللاحق للدالة decompress()‎ البيانات على هيئة ''b للحصول على المزيد من المخرجات.

إن فكّ التابع الضغط عن جميع البيانات المعطاة وأعادها (إما بسبب كون حجم البيانات المعطاة أقلّ من العدد المحدّد كقيمة للمعامل max_length، أو لكون قيمة المعامل max_length سالبة)، تُسند القيمة True إلى الخاصية needs_input.

تؤدي محاولة فك الضغط عن البيانات بعد الوصول إلى نهاية تدفق البيانات إلى إطلاق الاستثناء EOFError. يتجاهل التابع جميع البيانات التي تأتي بعد نهاية تدفق البيانات وتُحفظ في الخاصية unused_data.

ملاحظة: أضيف المعامل max_length في الإصدار 3.5 من بايثون.

القيمة المعادة

يعيد التابع البيانات الناتجة عن عملية فك الضغط على هيئة بايتات. يمكن أن يخزّن جزء من البيانات داخليًا buffered internally وذلك لاستخدامها في الاستدعاءات اللاحقة للدالة decompress()‎. يجب أن تُربط البيانات المعادة مع المخرجات الناتجة عن الاستدعاءات السابقة للدالة decompress()‎.

مصادر