الفرق بين المراجعتين لصفحة: «Python/LZMAFile»

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:الصنف <code>lzma.LZMAFile()‎</code> في بايثون}}</noinclude> تفتح الدالة ملفًّا مضغوطًا بخوارزمي...'
 
طلا ملخص تعديل
 
(2 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE:الصنف <code>lzma.LZMAFile()‎</code> في بايثون}}</noinclude>
<noinclude>{{DISPLAYTITLE:الصنف <code>lzma.LZMAFile</code> في بايثون}}</noinclude>


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


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


== البنية العامة ==
== البنية العامة ==
سطر 14: سطر 14:


=== ‎<code>filename</code> ===
=== ‎<code>filename</code> ===
يحدّد هذا المعامل كائن الملف الذي سيجري تغليفه بكائن LZMAFile أو اسم الملف الذي ستفتحه الدالة (سلسلة نصية أو كائن bytes أو كائن شبيه بالمسار). يجدر التنبيه إلى أنّ إغلاق كائن LZMAFile لن يؤدي إلى إغلاق كائن الملفّ الذي يغلّفه.
يحدّد هذا المعامل كائن الملف الذي سيجري تغليفه بكائن <code>LZMAFile</code> أو اسم الملف الذي ستفتحه الدالة ([[Python/str|سلسلة نصية]] أو [[Python/bytes|كائن <code>bytes</code>]] أو كائن شبيه بالمسار). يجدر التنبيه إلى أنّ إغلاق كائن <code>LZMAFile</code> لن يؤدي إلى إغلاق كائن الملفّ الذي يغلّفه.


=== <code>mode</code> ===
=== <code>mode</code> ===


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


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


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


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


عند فتح المف للكتابة، تؤدي المعاملات format، check، preset، filters الوظيفة ذاتها في كائن LZMACompressor.
عند فتح المف للكتابة، تؤدي المعاملات ‎<code>‎format</code>، <code>check</code>، <code>preset</code>، <code>filters</code> الوظيفة ذاتها في كائن <code>[[Python/LZMACompressor|LZMACompressor]]</code>.


== توابع الصنف <code>LZMAFile</code> ==
== توابع الصنف <code>LZMAFile</code> ==


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


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


=== التابع <code>peek()‎</code> ===
=== التابع <code>[[Python/LZMAFile/peek|peek()]]‎</code> ===


يعيد التابع البيانات المخزنة في الذاكرة دون التحرّك في موقع الملف.
يعيد التابع البيانات المخزنة في الذاكرة دون التحرّك في موقع الملف.
سطر 42: سطر 42:
'''ملاحظات''':
'''ملاحظات''':


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



المراجعة الحالية بتاريخ 19:33، 10 نوفمبر 2018


تفتح الدالة ملفًّا مضغوطًا بخوارزمية 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 من بايثون.

مصادر