الفرق بين المراجعتين لصفحة: «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> | ||
== المعاملات == | |||
<code>zinfo_or_arcname</code> | |||
يأخذ هذا المعامل إحدى قيمتين، فإمّا أن يكون اسم الملف في الأرشيف، أو نسخة من الصنف <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()
: يكتب التابع الملف المعطى في ملف الأرشيف.