الفرق بين المراجعتين لصفحة: «Python/BZ2File»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:الصنف <code>bz2.BZ2File()</code> في بايثون}}</noinclude> تفتح الدالة البانية لهذا الصنف ملفًّا...' |
|||
(4 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة) | |||
سطر 12: | سطر 12: | ||
=== <code>filename</code> === | === <code>filename</code> === | ||
إن كانت قيمة المعامل filename سلسلة نصية أو كائن | إن كانت قيمة المعامل <code>filename</code> [[Python/str|سلسلة نصية]] أو [[Python/bytes|كائن <code>bytes</code>]]، فإنّ الدالة تفتح الملفّ المسمّى مباشرة، وإلا فيجب أن تكون قيمة المعامل <code>filename</code> كائن ملفٍّ يُستخدم لقراءة البيانات المضغوطة أو كتابتها. | ||
=== <code>mode</code> === | === <code>mode</code> === | ||
يمكن أن يأخذ المعامل mode القيمة 'r' للقراءة (وهي القيمة الافتراضية) أو 'w' لإعادة الكتابة، أو 'x' للإنشاء | يمكن أن يأخذ المعامل <code>mode</code> القيمة <code>'r'</code> للقراءة (وهي القيمة الافتراضية) أو <code>'w'</code> لإعادة الكتابة، أو <code>'x'</code> للإنشاء الخاص exclusive creation، أو <code>'a'</code> لإلحاق البيانات. ويمكن تقديم هذه القيم بالصورة التالية <code>'rb'</code>، <code>'wb'</code>، <code>'xb'</code>، <code>'ab'</code>. | ||
إن كانت قيمة filename هي كائن ملف (بدلًا من اسم ملف) فإنّ استخدام القيمة 'w' لا يؤدي إلى | إن كانت قيمة <code>filename</code> هي كائن ملف (بدلًا من اسم ملف) فإنّ استخدام القيمة <code>'w'</code> لا يؤدي إلى تقطيع الملف من جانبيه truncate، بل تكون العملية مكافئة للنمط <code>'a'</code>. | ||
=== <code>buffering</code> === | === <code>buffering</code> === | ||
المعامل buffering مهمل، وتتجاهله الدالة عند أداء عملها. | المعامل <code>buffering</code> مهمل، وتتجاهله الدالة عند أداء عملها. | ||
=== <code>compresslevel</code> === | === <code>compresslevel</code> === | ||
إن كان النمط المستخدم هو 'w' أو 'a' فيمكن للمعامل compresslevel أن يكون رقمًا يتدرّج بين 1 و 9 ويحدّد مستوى عملية الضغط: الرقم 1 ينتج أقل مقدار من الضغط، والرقم 9 (القيمة الافتراضية) ينتج أعلى مقدار من الضغط. | إن كان النمط المستخدم هو <code>'w'</code> أو <code>'a'</code> فيمكن للمعامل <code>compresslevel</code> أن يكون رقمًا يتدرّج بين <code>1</code> و <code>9</code> ويحدّد مستوى عملية الضغط: الرقم <code>1</code> ينتج أقل مقدار من الضغط، والرقم <code>9</code> (القيمة الافتراضية) ينتج أعلى مقدار من الضغط. | ||
إن كان النمط المستخدم هو 'r'، فيمكن للملف المعطى أن يكون ناتجًا عن ربط مجموعة من البيانات المضغوطة. | إن كان النمط المستخدم هو <code>'r'</code>، فيمكن للملف المعطى أن يكون ناتجًا عن ربط مجموعة من البيانات المضغوطة. | ||
== توابع الصنف <code>BZ2File</code> == | |||
تقدّم كائنات <code>BZ2File</code> التوابع التالية: | |||
=== التابع <code>peek([n])</code> === | |||
يعيد التابع البيانات المخزنة في الذاكرة دون التحرّك في موقع الملف. يعيد التابع ما لا يقل عن بايت واحد من البيانات (إلا إذا وصل التابع إلى نهاية الملف)، ويكون عدد البياتات المعادة غير محدّد. | |||
'''ملاحظات''': | |||
* أضيف دعم عبارات <code>with</code> في الإصدار 3.1 من بايثون. | |||
* أضيفت التوابع <code>fileno()</code> و <code>readable()</code> و <code>seekable()</code> و <code>writable()</code> و <code>read1()</code> و <code>readinto()</code> في الإصدار 3.3 من بايثون. | |||
* أصبح بالإمكان في الإصدار 3.3 من بايثون استخدام كائن ملف كقيمة للمعامل <code>filename</code> عوضًا عن اسم ملف حقيقي. | |||
* أضيف النمط <code>'a'</code> (الإلحاق append) إلى جانب إضافة دعم قراءة الملفات ذات التدفقات المتعددة في الإصدار 3.3 من بايثون. | |||
* أضيف النمط <code>'x'</code> (الإنشاء الخاص exclusive creation) في الإصدار 3.4 من بايثون. | |||
* في الإصدار 3.5 من بايثون أصبح التابع <code>read()</code> يستقبل معاملًا يأخذ القيمة <code>None</code>. | |||
* أصبح بالإمكان تمرير كائن شبيه بالملفات إلى الدالة البانية في الإصدار 3.6 من بايثون. | |||
== مصادر == | == مصادر == | ||
* [https://docs.python.org/3/library/bz2.html#bz2. | * [https://docs.python.org/3/library/bz2.html#bz2.BZ2File صفحة Support for bzip2 compression في توثيق بايثون الرسمي.] | ||
[[تصنيف:Python]] | [[تصنيف:Python]] | ||
[[تصنيف:Python Modules]] | [[تصنيف:Python Modules]] |
المراجعة الحالية بتاريخ 12:46، 10 نوفمبر 2018
تفتح الدالة البانية لهذا الصنف ملفًّا مضغوطًا بخوارزمية 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 من بايثون.