الصنف 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 من بايثون.