الفرق بين المراجعتين لصفحة: «Python/FileWrapper»
< Python
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:الصنف <code>wsgiref.util.FileWrapper()</code> في بايثون}}</noinclude> صنف تغليف wrapper تحوّل كائنًا ش...' |
لا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:الصنف <code>wsgiref.util.FileWrapper()</code> في بايثون}}</noinclude> | <noinclude>{{DISPLAYTITLE:الصنف <code>wsgiref.util.FileWrapper()</code> في بايثون}}</noinclude> | ||
صنف تغليف wrapper تحوّل كائنًا شبيهًا بالملف file-like object إلى مكرّر. تدعم الكائنات الناتجة التكرار استخدام التابعين | صنف تغليف wrapper تحوّل كائنًا شبيهًا بالملف file-like object إلى مكرّر. تدعم الكائنات الناتجة التكرار استخدام التابعين <code>__getitem__()</code> و <code>__iter__()</code> وذلك للتوافق مع الإصدار 2.1 من بايثون ومع Jython. | ||
== البنية العامة == | == البنية العامة == | ||
سطر 8: | سطر 8: | ||
wsgiref.util.FileWrapper(filelike, blksize=8192) | wsgiref.util.FileWrapper(filelike, blksize=8192) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== المعاملات == | == المعاملات == | ||
=== <code>blksize</code> === | === <code>blksize</code> === | ||
المعامل الاختياري يُمُرّر بصورة متكررة في كلّ مرة يجري فيها المرور على الكائن، إلى التابع read() في الكائن الشبيه بالملف المعطى وذلك للحصول على سلاسل بايتات نصية. | المعامل الاختياري يُمُرّر بصورة متكررة في كلّ مرة يجري فيها المرور على الكائن، إلى التابع <code>read()</code> في الكائن الشبيه بالملف المعطى وذلك للحصول على سلاسل بايتات نصية. | ||
إذا أعاد التابع read() سلسلة بايتات نصية فارغة، تتوقّف عملية التعاود تمامًا. | إذا أعاد التابع <code>read()</code> سلسلة بايتات نصية فارغة، تتوقّف عملية التعاود تمامًا. | ||
إن كان الكائن الشبيه بالملفات المعطى يمتلك التابع close() فإنّ الكائن المعاد سيمتلك هذا التابع أيضًا، ويؤدي استدعاؤه في الكائن إلى المعاد إلى استدعائه في الكائن الشبيه بالملفات. | إن كان الكائن الشبيه بالملفات المعطى يمتلك التابع <code>close()</code> فإنّ الكائن المعاد سيمتلك هذا التابع أيضًا، ويؤدي استدعاؤه في الكائن إلى المعاد إلى استدعائه في الكائن الشبيه بالملفات. | ||
== أمثلة == | == أمثلة == | ||
سطر 27: | سطر 26: | ||
from wsgiref.util import FileWrapper | from wsgiref.util import FileWrapper | ||
filelike = StringIO("This is an example file-like object"*10) | filelike = StringIO("This is an example file-like object"*10) | ||
wrapper = FileWrapper(filelike, blksize=5) | wrapper = FileWrapper(filelike, blksize=5) |
مراجعة 21:23، 26 ديسمبر 2018
صنف تغليف 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)