الصنف lzma.LZMAFile في بايثون

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


تفتح الدالة ملفًّا مضغوطًا بخوارزمية LZMA في الوضع الثنائي.

يمكن لكائن LZMAFile أن يغلّف كائن ملف مفتوح فعلًا، أو أن يعمل مباشرة على الملف المعطى.

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

lzma.LZMAFile(filename=None, mode="r", *, format=None, check=-1, preset=None, filters=None)

المعاملات

filename

يحدّد هذا المعامل كائن الملف الذي سيجري تغليفه بكائن LZMAFile أو اسم الملف الذي ستفتحه الدالة (سلسلة نصية أو كائن bytes أو كائن شبيه بالمسار). يجدر التنبيه إلى أنّ إغلاق كائن LZMAFile لن يؤدي إلى إغلاق كائن الملفّ الذي يغلّفه.

mode

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

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

عند فتح الملف المعطى للكتابة يمكن للملف المعطى أن يكون ناتج ربط مجموعة من تدفقات البيانات المضغوطة والمنفصلة عن بعضها البعض. يجري فك ترميز هذه التدفّقات بطريقة واضحة لتصبح تدفّقًا منطقيًا واحدًا.

المعاملات الأخرى

عند فتح الملف للقراءة يؤدي المعاملان format و filters الوظيفة ذاتها في الدالة وفي كائن LZMADecompressor، ويجب عدم استخدام المعاملين check و preset عند استخدام الكائن.

عند فتح المف للكتابة، تؤدي المعاملات ‎‎format، check، preset، filters الوظيفة ذاتها في كائن LZMACompressor.

توابع الصنف LZMAFile

يدعم كائن LZMAFile جميع التوابع التي يقدّمها الكائن io.BufferedIOBase باستثناء التابعين detach()‎ و truncate()‎، كما يدعم التكرار وعبارات with.

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

التابع peek()

يعيد التابع البيانات المخزنة في الذاكرة دون التحرّك في موقع الملف.

ملاحظات:

  • أضيف دعم الوضعين 'x' و 'xb' في الإصدار 3.4 من بايثون.
  • في الإصدار 3.5 من بايثون أصبح التابع read()‎ يستقبل معاملًا يأخذ القيمة None.
  • أصبح بالإمكان تمرير كائن شبيه بالملفات إلى الدالة البانية في الإصدار 3.6 من بايثون.

مصادر