الصنف bz2.BZ2File()‎ في بايثون

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث


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

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

bz2.BZ2File(filename, mode='r', buffering=None, compresslevel=9)

المعاملات

filename

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

mode

يمكن أن يأخذ المعامل mode القيمة 'r' للقراءة (وهي القيمة الافتراضية) أو 'w' لإعادة الكتابة، أو 'x' للإنشاء الخاص exclusive creation، أو 'a' لإلحاق البيانات. ويمكن تقديم هذه القيم بالصورة التالية ‎'rb'، 'wb'، 'xb'، 'ab'‎.

إن كانت قيمة filename هي كائن ملف (بدلًا من اسم ملف) فإنّ استخدام القيمة 'w' لا يؤدي إلى تقطيع الملف من جانبيه truncate، بل تكون العملية مكافئة للنمط 'a'.

buffering

المعامل buffering مهمل، وتتجاهله الدالة عند أداء عملها.

compresslevel

إن كان النمط المستخدم هو 'w' أو 'a' فيمكن للمعامل compresslevel أن يكون رقمًا يتدرّج بين 1 و 9 ويحدّد مستوى عملية الضغط: الرقم 1 ينتج أقل مقدار من الضغط، والرقم 9 (القيمة الافتراضية) ينتج أعلى مقدار من الضغط.

إن كان النمط المستخدم هو 'r'، فيمكن للملف المعطى أن يكون ناتجًا عن ربط مجموعة من البيانات المضغوطة.

توابع الصنف BZ2File

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

التابع peek([n])‎

يعيد التابع البيانات المخزنة في الذاكرة دون التحرّك في موقع الملف. يعيد التابع ما لا يقل عن بايت واحد من البيانات (إلا إذا وصل التابع إلى نهاية الملف)، ويكون عدد البياتات المعادة غير محدّد.

ملاحظات:

  • أضيف دعم عبارات with في الإصدار 3.1 من بايثون.
  • أضيفت التوابع fileno()‎ و readable()‎ و seekable()‎ و writable()‎ و read1()‎ و readinto()‎ في الإصدار 3.3 من بايثون.
  • أصبح بالإمكان في الإصدار 3.3 من بايثون استخدام كائن ملف كقيمة للمعامل filename عوضًا عن اسم ملف حقيقي.
  • أضيف النمط 'a' (الإلحاق append) إلى جانب إضافة دعم قراءة الملفات ذات التدفقات المتعددة في الإصدار 3.3 من بايثون.
  • أضيف النمط 'x' (الإنشاء الخاص exclusive creation) في الإصدار 3.4 من بايثون.
  • في الإصدار 3.5 من بايثون أصبح التابع read()‎ يستقبل معاملًا يأخذ القيمة None.
  • أصبح بالإمكان تمرير كائن شبيه بالملفات إلى الدالة البانية في الإصدار 3.6 من بايثون.

مصادر