الصنف wsgiref.util.FileWrapper()‎‎ في بايثون

من موسوعة حسوب
مراجعة 22:09، 26 ديسمبر 2018 بواسطة Mohammed Taher (نقاش | مساهمات) (نقل Mohammed Taher صفحة Python/wsgiref/util/FileWrapper إلى Python/FileWrapper)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)


صنف تغليف wrapper تحوّل كائنًا شبيهًا بالملف file-like object إلى مكرّر. تدعم الكائنات الناتجة التكرار استخدام التابعين ‎__getitem__()‎ و ‎__iter__()‎ وذلك للتوافق مع الإصدار 2.1 من بايثون ومع Jython.

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

wsgiref.util.FileWrapper(filelike, blksize=8192)

المعاملات

‎blksize

المعامل الاختياري يُمُرّر بصورة متكررة في كلّ مرة يجري فيها المرور على الكائن، إلى التابع read()‎ في الكائن الشبيه بالملف المعطى وذلك للحصول على سلاسل بايتات نصية.

إذا أعاد التابع read()‎ سلسلة بايتات نصية فارغة، تتوقّف عملية التعاود تمامًا.

إن كان الكائن الشبيه بالملفات المعطى يمتلك التابع close()‎ فإنّ الكائن المعاد سيمتلك هذا التابع أيضًا، ويؤدي استدعاؤه في الكائن إلى المعاد إلى استدعائه في الكائن الشبيه بالملفات.

أمثلة

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

from io import StringIO
from wsgiref.util import FileWrapper

filelike = StringIO("This is an example file-like object"*10)
wrapper = FileWrapper(filelike, blksize=5)

for chunk in wrapper:
    print(chunk)

مصادر