الصنف bz2.BZ2Decompressor في بايثون

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


تنشئ هذه الدالة البانية كائن decompressor يمكن استخدامه لفك الضغط عن البيانات تزايديًا.

يمكن استخدام الدالة decompress()‎ لفك الضغط عن البيانات دفعة واحدة.

ملاحظة:

لا يتعامل هذا الصنف بطريقة واضحة مع المدخلات التي تتضمّن مجموعة من تدفّقات البيانات المضغوطة مخالفًا في ذلك الدالة decompress()‎ والصنف LZMAFile. إن كنت بحاجة إلى فك الضغط عن مجموعة من التدفّقات المضغوطة باستخدام الصنف LZMADecompressor فيجب عليك استخدام كائن decompressor جديد مع كل تدفّق للبيانات.

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

lzma.LZMADecompressor(format=FORMAT_AUTO, memlimit=None, filters=None)

المعاملات

format

يحدّد المعامل format تنسيق الحاوية الذي يجب استخدامه من قبل الدالة البانية. القيمة الافتراضية هي FORMAT_AUTO، والتي يمكنها فك الضغط عن ملفات ‎.xz و ‎.lzma، ويمكن أن يأخذ المعامل القيم FORMAT_XZ و FORMAT_ALONE و FORMAT_RAW.

memlimit

يحدّد هذا المعامل مقدار الذاكرة (بالبايتات) المسموح باستخدامه لفكّ الضغط عن البيانات. عند استخدام هذا المعامل تطلق اللغة الاستثناء LZMAError عندما لا يكون بالإمكان فك الضغط عن المدخلات باستخدام المقدار المحدّد من الذاكرة.

filters

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

راجع موضوع تحديد سلاسل ترشيح مخصّصة للمزيد من المعلومات حول سلاسل الترشيح.

توابع الصنف LZMADecompressor

تقدّم كائنات LZMADecompressor التوابع التالية:

التابع decompress()‎

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

خصائص الصنف LZMADecompressor

تمتلك كائنات LZMADecompressor الخصائص التالية:

check

معرّف اختبار السلامة المستخدم بواسطة تدفّق البيانات المدخل. يمكن أن تأخذ هذه الخاصية القيمة CHECK_UNKNOWN إلى حين فك ترميز ما يكفي من المدخلات لتحدد نوع اختبار السلامة المستخدم.

eof

تأخذ هذه الخاصية القيمة True عند الوصول إلى نهاية تدفّق البيانات.

ملاحظة: هذه الخاصية جديدة في الإصدار 3.3 من بايثون.

unused_data

تُخزّن البيانات التي يُعثر عليها بعد نهاية تدفق البيانات المضغوط في هذه الخاصية.

تحمل هذه الخاصية القيمة b'' إن طُلبت قيمتها قبل الوصول إلى نهاية تدفق البيانات.

needs_input

تحمل هذه الخاصية القيمة False إن كان بمقدور التابع decompress()‎ أن يقدّم المزيد من البيانات التي أزيل الضغط عنها قبل طلب بيانات جديدة غير مضغوطة.

ملاحظة: هذه الخاصية جديدة في الإصدار 3.5 من بايثون.

مصادر