التابع ZipFile.writestr() في بايثون
يكتب التابع البيانات النصية المعطاة في الأرشيف.
البنية العامة
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', 'a')
>>> 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(): يكتب التابع الملف المعطى في ملف الأرشيف.