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

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:التابع <code>ZipFile.writestr()‎‎</code> في بايثون}}</noinclude> يكتب التابع البيانات النصية الم...'
 
لا ملخص تعديل
سطر 2: سطر 2:


يكتب التابع البيانات النصية المعطاة في الأرشيف.
يكتب التابع البيانات النصية المعطاة في الأرشيف.
 
==البنية العامة==
== البنية العامة ==
 
<syntaxhighlight lang="python3">
<syntaxhighlight lang="python3">
ZipFile.writestr(zinfo_or_arcname, data, compress_type=None, compresslevel=None)
ZipFile.writestr(zinfo_or_arcname, data, compress_type=None, compresslevel=None)
</syntaxhighlight>
</syntaxhighlight>
== المعاملات ==
=== zinfo_or_arcname ===
يأخذ هذا المعامل إحدى قيمتين، فإمّا أن يكون اسم الملف في الأرشيف، أو نسخة من الصنف ZipInfo. في حال كانت القيمة المعطاة هي نسخة من الصنف فيجب على الأقل تعيين قيمة للمعاملات filename و date و time على الأقل. أما إن كانت القيمة المعطاة هي اسم الملف، فسيعتمد التابع الوقت والتاريخ الحاليين.


يجب أن يكون الأرشيف مفتوحًا في الوضع 'w' أو 'x' أو 'a'.
== ‎المعاملات ==
‎<code>zinfo_or_arcname</code>


=== compress_type ===
يأخذ هذا المعامل إحدى قيمتين، فإمّا أن يكون اسم الملف في الأرشيف، أو نسخة من الصنف <code>[[Python/ZipInfo|ZipInfo]]</code>. في حال كانت القيمة المعطاة هي نسخة من الصنف فيجب على الأقل تعيين قيمة للمعاملات <code>filename</code> و <code>date</code> و <code>time</code> على الأقل. أما إن كانت القيمة المعطاة هي اسم الملف، فسيعتمد التابع الوقت والتاريخ الحاليين.


معامل اختياري - في حال تعريفه - تعيد قيمته تعريف القيمة المحدّدة للمعامل compression في الدالة البانية لكائنات ZipFile أو القيمة المحدّدة للمعامل zinfo_or_arcname (في حال استخدام نسخة من الصنف ZipInfo).  
يجب أن يكون الأرشيف مفتوحًا في الوضع <code>'w'</code> أو <code>'x'</code> أو <code>'a'</code>.
===<code>compress_type</code>===
معامل اختياري - في حال تعريفه - تعيد قيمته تعريف القيمة المحدّدة للمعامل <code>compression</code> في الدالة البانية لكائنات <code>[[Python/ZipFile|ZipFile]]</code> أو القيمة المحدّدة للمعامل <code>zinfo_or_arcname</code> (في حال استخدام نسخة من الصنف <code>[[Python/ZipInfo|ZipInfo]]</code>).


كذلك الأمر بالنسبة للمعامل compresslevel إذ تعيد قيمته تعريف القيمة المقابلة لها في الدالة البانية.
=== <code>compresslevel</code> ===
كذلك الأمر بالنسبة للمعامل <code>compresslevel</code> إذ تعيد قيمته تعريف القيمة المقابلة لها في الدالة البانية.


'''ملاحظة'''
'''ملاحظات''':


إن استخدمت نسخة من الصنف ZipInfo كقيمة للمعامل zinfo_or_acrname فإنّ طريقة الضغط المستخدمة ستكون تلك المحدّدة في المعامل compress_type للعضو التابع إلى نسخة الصنف ZipInfo المعطاة. تعيّن الدالة البانية للصنف ZipInfo القيمة ZIP_STORED كقيمة افتراضية.
* إن استخدمت نسخة من الصنف <code>[[Python/ZipInfo|ZipInfo]]</code> كقيمة للمعامل <code>zinfo_or_acrname</code> فإنّ طريقة الضغط المستخدمة ستكون تلك المحدّدة في المعامل <code>compress_type</code> للعضو التابع إلى نسخة الصنف <code>[[Python/ZipInfo|ZipInfo]]</code> المعطاة. تعيّن الدالة البانية للصنف <code>[[Python/ZipInfo|ZipInfo]]</code> القيمة <code>ZIP_STORED</code> كقيمة افتراضية.
 
*أضيف المعامل <code>compress_type</code> في الإصدار 3.2 من بايثون.
'''ملاحظات'''
*يؤدي استدعاء التابع <code>writestr()‎</code> على كائن [[Python/ZipFile|<code>ZipFile</code>]] مغلق أو أنشئ في الوضع <code>'r'</code> إلى إطلاق الاستثناء <code>ValueError</code> في الإصدار 3.6 من بايثون. كان التابع يطلق الاستثناء <code>RuntimeError</code> في الإصدارات السابقة.
 
==القيمة المعادة==
* أضيف المعامل compress_type في الإصدار 3.2 من بايثون.
* يؤدي استدعاء التابع writestr()‎ على كائن ZipFile مغلق أو أنشئ في الوضع 'r' إلى إطلاق الاستثناء ValueError في الإصدار 3.6 من بايثون. كان التابع يطلق الاستثناء RuntimeError في الإصدارات السابقة.
 
== القيمة المعادة ==
يعيد التابع القيمة <code>None</code>.
يعيد التابع القيمة <code>None</code>.
== أمثلة ==
==أمثلة==
 
يبين المثال التالي طريقة استخدام التابع:
يبين المثال التالي آلية عمل التابع:


<syntaxhighlight lang="python3">
<syntaxhighlight lang="python3">
 
>>> import zipfile
>>> zip = zipfile.ZipFile('files.zip')
>>> zip.writestr('file6.css', '.main {padding: 0; margin:0 auto;')
>>> zip.writestr('file7.txt', 'This was written using ZipFile.writestr method in python')
>>> zip.read('file6.css')
b'.main {padding: 0; margin:0 auto;'
>>> zip.read('file7.txt')
b'This was written using ZipFile.writestr method in python'
</syntaxhighlight>
</syntaxhighlight>


== انظر أيضًا ==
==انظر أيضًا==
 
* التابع <code>[[Python/ZipFile/write|ZipFile.write()‎]]</code>: يكتب التابع الملف المعطى في ملف الأرشيف.
== مصادر ==
==مصادر==
[https://docs.python.org/3/library/zipfile.html#zipfile.ZipFile.writestr صفحة Work with ZIP archives في توثيق بايثون الرسمي.]
[https://docs.python.org/3/library/zipfile.html#zipfile.ZipFile.writestr صفحة Work with ZIP archives في توثيق بايثون الرسمي.]
[[تصنيف:Python]]
[[تصنيف:Python]]
[[تصنيف:Python Modules]]
[[تصنيف:Python Modules]]
[[تصنيف:Python Methods]]
[[تصنيف:Python Methods]]

مراجعة 10:05، 16 نوفمبر 2018


يكتب التابع البيانات النصية المعطاة في الأرشيف.

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

ZipFile.writestr(zinfo_or_arcname, data, compress_type=None, compresslevel=None)

‎المعاملات

zinfo_or_arcname

يأخذ هذا المعامل إحدى قيمتين، فإمّا أن يكون اسم الملف في الأرشيف، أو نسخة من الصنف ZipInfo. في حال كانت القيمة المعطاة هي نسخة من الصنف فيجب على الأقل تعيين قيمة للمعاملات filename و date و time على الأقل. أما إن كانت القيمة المعطاة هي اسم الملف، فسيعتمد التابع الوقت والتاريخ الحاليين.

يجب أن يكون الأرشيف مفتوحًا في الوضع 'w' أو 'x' أو 'a'.

compress_type

معامل اختياري - في حال تعريفه - تعيد قيمته تعريف القيمة المحدّدة للمعامل compression في الدالة البانية لكائنات ZipFile أو القيمة المحدّدة للمعامل zinfo_or_arcname (في حال استخدام نسخة من الصنف ZipInfo).

compresslevel

كذلك الأمر بالنسبة للمعامل compresslevel إذ تعيد قيمته تعريف القيمة المقابلة لها في الدالة البانية.

ملاحظات:

  • إن استخدمت نسخة من الصنف ZipInfo كقيمة للمعامل zinfo_or_acrname فإنّ طريقة الضغط المستخدمة ستكون تلك المحدّدة في المعامل compress_type للعضو التابع إلى نسخة الصنف ZipInfo المعطاة. تعيّن الدالة البانية للصنف ZipInfo القيمة ZIP_STORED كقيمة افتراضية.
  • أضيف المعامل compress_type في الإصدار 3.2 من بايثون.
  • يؤدي استدعاء التابع writestr()‎ على كائن ZipFile مغلق أو أنشئ في الوضع 'r' إلى إطلاق الاستثناء ValueError في الإصدار 3.6 من بايثون. كان التابع يطلق الاستثناء RuntimeError في الإصدارات السابقة.

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

يعيد التابع القيمة None.

أمثلة

يبين المثال التالي طريقة استخدام التابع:

>>> import zipfile
>>> zip = zipfile.ZipFile('files.zip')
>>> zip.writestr('file6.css', '.main {padding: 0; margin:0 auto;')
>>> zip.writestr('file7.txt', 'This was written using ZipFile.writestr method in python')
>>> zip.read('file6.css')
b'.main {padding: 0; margin:0 auto;'
>>> zip.read('file7.txt')
b'This was written using ZipFile.writestr method in python'

انظر أيضًا

  • التابع ZipFile.write()‎: يكتب التابع الملف المعطى في ملف الأرشيف.

مصادر

صفحة Work with ZIP archives في توثيق بايثون الرسمي.