التابع 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')
>>> 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()
: يكتب التابع الملف المعطى في ملف الأرشيف.