الفرق بين المراجعتين ل"Python/lzma/open"

من موسوعة حسوب
< Python‏ | lzma
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:الدالة <code>bz2.open()‎</code> في بايثون}}</noinclude> تفتح هذه الدالة ملفًّا مضغوطًا بخوارز...')
 
 
سطر 12: سطر 12:
  
 
=== ‎<code>filename</code> ===
 
=== ‎<code>filename</code> ===
يمكن أن يكون اسم ملفٍّ موجود فعلًا (سلسلة نصية أو كائن bytes أو كائن شبيه بالمسار)، أو يمكن أن يكون كائن ملفٍّ موجود فعلًا يمكن القراءة منه والكتابة فيه.
+
يمكن أن يكون اسم ملفٍّ موجود فعلًا ([[Python/str|سلسلة نصية]] أو [[Python/bytes|كائن <code>bytes</code>]] أو كائن شبيه بالمسار)، أو يمكن أن يكون كائن ملفٍّ موجود فعلًا يمكن القراءة منه والكتابة فيه.
  
 
=== <code>mode</code> ===
 
=== <code>mode</code> ===
سطر 18: سطر 18:
 
يمكن يأخذ المعامل <code>mode</code> إحدى القيم التالية: <code>‎'r'</code>، <code>'rb'</code>، <code>'w'</code>، <code>'wb'</code>، <code>'x'</code>، <code>'xb'</code>، <code>'a'</code>، <code>'ab'‎</code> للنمط الثنائي، والقيم ‎<code>'rt'</code>، <code>'wt'</code>، <code>'xt'</code>، <code>'at'‎</code> للنمط النصي، والقيمة الافتراضية لهذا المعامل هي <code>'rb'</code>.
 
يمكن يأخذ المعامل <code>mode</code> إحدى القيم التالية: <code>‎'r'</code>، <code>'rb'</code>، <code>'w'</code>، <code>'wb'</code>، <code>'x'</code>، <code>'xb'</code>، <code>'a'</code>، <code>'ab'‎</code> للنمط الثنائي، والقيم ‎<code>'rt'</code>، <code>'wt'</code>، <code>'xt'</code>، <code>'at'‎</code> للنمط النصي، والقيمة الافتراضية لهذا المعامل هي <code>'rb'</code>.
  
عند فتح الملف للقراءة يؤدي المعاملان format و filters الوظيفة ذاتها في الدالة وفي كائن LZMADecompressor، ويجب عدم استخدام المعاملين check و preset عند استخدام الكائن.
+
عند فتح الملف للقراءة يؤدي المعاملان <code>format</code> و <code>filters</code> الوظيفة ذاتها في الدالة وفي كائن <code>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>LZMACompressor</code>.
  
تكافئ هذه الدالة -في النمط الثنائي- الدالة البانية للصنف LZMAFile:
+
تكافئ هذه الدالة -في النمط الثنائي- الدالة البانية للصنف LZMAFile:<syntaxhighlight lang="python3">
 
LZMAFile(filename, mode, ...)
 
LZMAFile(filename, mode, ...)
وفي هذه الحالة يجب عدم تزويد الدالة بالمعاملات encoding و errors و newline.
+
</syntaxhighlight>وفي هذه الحالة يجب عدم تزويد الدالة بالمعاملات <code>encoding</code> و <code>errors</code> و <code>newline</code>.
  
أما في النمط النصي، فيجري إنشاء الكائن LZMAFile وتغليفه بنسخة من الصنف io.TextIOWrapper مع المعاملات المحدّدة للترميز، والتعامل مع الأخطاء ونهايات الأسطر.
+
أما في النمط النصي، فيجري إنشاء الكائن <code>LZMAFile</code> وتغليفه بنسخة من الصنف <code>io.TextIOWrapper</code> مع المعاملات المحدّدة للترميز، والتعامل مع الأخطاء ونهايات الأسطر.
  
ملاحظات:
+
'''ملاحظات:'''
* أضيف دعم الأوضاع 'x' و 'xb' و 'xt' في الإصدار 3.4 من بايثون.
+
* أضيف دعم الأوضاع <code>'x'</code> و <code>'xb'</code> و <code>'xt'</code> في الإصدار 3.4 من بايثون.
 
* أصبح بالإمكان استخدام الكائنات الشبيهة بالمسارات path-like objects في الإصدار 3.6 من بايثون.
 
* أصبح بالإمكان استخدام الكائنات الشبيهة بالمسارات path-like objects في الإصدار 3.6 من بايثون.
  

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


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

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

lzma.open(filename, mode="rb", *, format=None, check=-1, preset=None, filters=None, encoding=None, errors=None, newline=None)

المعاملات

filename

يمكن أن يكون اسم ملفٍّ موجود فعلًا (سلسلة نصية أو كائن bytes أو كائن شبيه بالمسار)، أو يمكن أن يكون كائن ملفٍّ موجود فعلًا يمكن القراءة منه والكتابة فيه.

mode

يمكن يأخذ المعامل mode إحدى القيم التالية: ‎'r'، 'rb'، 'w'، 'wb'، 'x'، 'xb'، 'a'، 'ab'‎ للنمط الثنائي، والقيم ‎'rt'، 'wt'، 'xt'، 'at'‎ للنمط النصي، والقيمة الافتراضية لهذا المعامل هي 'rb'.

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

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

تكافئ هذه الدالة -في النمط الثنائي- الدالة البانية للصنف LZMAFile:

LZMAFile(filename, mode, ...)

وفي هذه الحالة يجب عدم تزويد الدالة بالمعاملات encoding و errors و newline.

أما في النمط النصي، فيجري إنشاء الكائن LZMAFile وتغليفه بنسخة من الصنف io.TextIOWrapper مع المعاملات المحدّدة للترميز، والتعامل مع الأخطاء ونهايات الأسطر.

ملاحظات:

  • أضيف دعم الأوضاع 'x' و 'xb' و 'xt' في الإصدار 3.4 من بايثون.
  • أصبح بالإمكان استخدام الكائنات الشبيهة بالمسارات path-like objects في الإصدار 3.6 من بايثون.

القيمة المعادة

تعيد الدالة كائن ملف.

أمثلة

يبين المثال التالي طريقة قراءة ملف مضغوط:

import lzma
with lzma.open("file.xz") as f:
    file_content = f.read()

يبين المثال التالي طريقة إنشاء ملف مضغوط:

import lzma
data = b"Insert Data Here"
with lzma.open("file.xz", "w") as f:
    f.write(data)

مصادر