الوحدة bz2()‎ في بايثون

من موسوعة حسوب
مراجعة 18:30، 9 نوفمبر 2018 بواسطة Mohammed Taher (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:الوحدة <code>bz2()‎</code> في بايثون}}</noinclude> تقدّم هذه الوحدة واجهة متكاملة لضغط البي...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)


تقدّم هذه الوحدة واجهة متكاملة لضغط البيانات وفك الضغط عنها باستخدام خوارزمية الضغط bzip2.

تتضمّن وحدة bz2 ما يلي:

  • دالة open()‎ وصنف BZ2File لقراءة الملفات المضغوطة والكتابة فيها.
  • صنفا BZ2Compressor و BZ2Decompressor لإجراء عمليات الضغط وفك الضغط التزايدي incremental.
  • دالتا compress()‎ و decompress()‎ لإجراء عمليات الضغط وفك الضغط بخطوة واحدة.

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

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

bz2.open(filename, mode='r', compresslevel=9, encoding=None, errors=None, newline=None)

تفتح الدالة ملفًّا مضغوطًا بخوارزمية bzip2 في النمط الثنائي أو النصي، وتعيد كائن ملف، وهي دالة بانية للصنف BZ2File.

‎المعاملات

filename

يمكن لهذا املعامل أن يكون اسم ملف (سلسلة نصية أو كائن bytes)، أو كائن ملفّ تجري القراءة منه والكتابة فيه.

mode

يمكن يأخذ المعامل mode إحدى القيم التالية: ‎'r'، 'rb'، 'w'، 'wb'، 'x'، 'xb'، 'a'، 'ab'‎ للنمط الثنائي، والقيم 'rt'، 'wt'، 'xt'، 'at' للنمط النصي، والقيمة الافتراضية لهذا المعامل هي 'rb'.

compresslevel

عدد صحيح يتدرج من 1 إلى 9 ويؤدي نفس الوظيفة التي يؤديها في الدالة البانية للصنف BZ2File.

تكافئ هذه الدالة في الوضع الثنائي الدالة البانية للصنف BZ2File:

BZ2File(filename, mode, compresslevel=compresslevel)

وفي هذه الحالة يجب عدم تمرير قيم للمعاملات encoding و errors و newline.

أما في الوضع النصي يجري إنشاء كائن BZ2File وتغليفه بنسخة من الصنف io.TextIOWrapper مع القيم المحددة للترميز والتعامل مع الأخطاء ونهايات الأسطر.

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

تعيد الدالة كائن فك الضغط يمكن استخدامه لفك الضغط عن البيانات التي لا يمكن وضعها في الذاكرة دفعة واحدة.

مصادر