الفرق بين المراجعتين لصفحة: «Python/shelve/Shelf»
لا ملخص تعديل |
لا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:الصنف <code>shelve.Shelf()</code> في بايثون}}</noinclude> | <noinclude>{{DISPLAYTITLE:الصنف <code>shelve.Shelf()</code> في بايثون}}</noinclude> | ||
صنف متفرّع من الصنف collections.abc.MutableMapping مهمّته تخزين القيم المسلسلة في كائن dict المعطى. | صنف متفرّع من الصنف <code>[[Python/collections.abc#.D8.A7.D9.84.D8.B5.D9.86.D9.81 collections.abc.MutableMapping|collections.abc.MutableMapping]]</code> مهمّته تخزين القيم المسلسلة في كائن <code>dict</code> المعطى. | ||
== البنية العامة == | == البنية العامة == | ||
سطر 8: | سطر 8: | ||
shelve.Shelf(dict, protocol=None, writeback=False, keyencoding='utf-8') | shelve.Shelf(dict, protocol=None, writeback=False, keyencoding='utf-8') | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== المعاملات == | == المعاملات == | ||
سطر 14: | سطر 13: | ||
كائن dict الذي ستخزن فيه القيم المسَلسَلة. | كائن dict الذي ستخزن فيه القيم المسَلسَلة. | ||
=== <code>protocol</code> === | === <code>protocol</code> === | ||
يستخدم الإصدار 3 من بروتوكول pickle لسلسلة القيم افتراضيًا، ويمكن تحديد بروتوكول السَلسَلة باستخدام المعامل protocol. راجع توثيق الوحدة pickle للاطلاع على المزيد من التفاصيل حول إصدارات السلسلة المتوفّرة. | يستخدم الإصدار 3 من بروتوكول <code>pickle</code> لسلسلة القيم افتراضيًا، ويمكن تحديد بروتوكول السَلسَلة باستخدام المعامل <code>protocol</code>. راجع توثيق [[Python/pickle|الوحدة <code>pickle</code>]] للاطلاع على المزيد من التفاصيل حول إصدارات السلسلة المتوفّرة. | ||
=== <code>writeback</code> === | === <code>writeback</code> === | ||
إن أخذ المعامل writeback القيمة | إن أخذ المعامل <code>writeback</code> القيمة <code>True</code>، فإنّ الكائن سيخزن جميع العناصر التي تم الوصول إليها في الذاكرة المخبئية وسيعيد كتابة هذه العناصر في القاموس المعطى عند تنفيذ التابعين عند مزامنة الرفّ وإغلاقه. يتيح هذا إجراء عمليات طبيعية على العناصر القابلة للتعديل، ولكن يمكن أن يستهلك مقدارًا أكبر من الذاكرة ويتسبب في تأخير عمليتي المزامنة والإغلاق. | ||
=== <code>keyencoding</code> === | === <code>keyencoding</code> === | ||
سطر 23: | سطر 22: | ||
الترميز المستخدم لترميز المفاتايح قبل استخدامها في القاموس الداخلي. | الترميز المستخدم لترميز المفاتايح قبل استخدامها في القاموس الداخلي. | ||
يمكن استخدام كائن Shelf كمدير للسياق contenx manager، وفي هذه الحالة سيُغلق الكائن تلقائيًا عند انتهاء الكتلة التي تضمّ الكائن. | يمكن استخدام كائن <code>Shelf</code> كمدير للسياق contenx manager، وفي هذه الحالة سيُغلق الكائن تلقائيًا عند انتهاء الكتلة التي تضمّ الكائن. | ||
ملاحظة: أضيف المعامل keyencoding في الإصدار 3.2 من اللغة. كانت المفاتيح ترمّز بالترميز UTF-8 في الإصدارات السابقة من بايثون. | '''ملاحظة:''' أضيف المعامل <code>keyencoding</code> في الإصدار 3.2 من اللغة. كانت المفاتيح ترمّز بالترميز UTF-8 في الإصدارات السابقة من بايثون. | ||
ملاحظة: دعم إدارة السياق أضيف في الإصدار 3.4 من اللغة. | '''ملاحظة:''' دعم إدارة السياق أضيف في الإصدار 3.4 من اللغة. | ||
== انظر أيضًا == | == انظر أيضًا == | ||
* الصنف <code>[[Python/shelve/BsdDbShelf|shelve.BsdDbShelf]]</code>: صنف متفرّع من الصنف <code>Shelf</code> ويقدّم التوابع <code>first()</code> و <code>next()</code> و <code>previous()</code> و <code>last()</code> و <code>set_location()</code> وهي متوفّرة في الوحدة <code>bsddb</code> من <code>pybsddb</code> ولكن ليس في وحدات قواعد البيانات الأخرى. | |||
* الصنف <code>[[Python/shelve/DbfilenameShelf|shelve.DbfilenameShelf]]</code>: صنف متفرّع من الصنف <code>Shelf</code> ويأخذ ملفًّا عوضًا عن كائن شبيه بالقاموس. | |||
== مصادر == | == مصادر == |
المراجعة الحالية بتاريخ 20:00، 20 سبتمبر 2018
صنف متفرّع من الصنف collections.abc.MutableMapping
مهمّته تخزين القيم المسلسلة في كائن dict
المعطى.
البنية العامة
shelve.Shelf(dict, protocol=None, writeback=False, keyencoding='utf-8')
المعاملات
dict
كائن dict الذي ستخزن فيه القيم المسَلسَلة.
protocol
يستخدم الإصدار 3 من بروتوكول pickle
لسلسلة القيم افتراضيًا، ويمكن تحديد بروتوكول السَلسَلة باستخدام المعامل protocol
. راجع توثيق الوحدة pickle
للاطلاع على المزيد من التفاصيل حول إصدارات السلسلة المتوفّرة.
writeback
إن أخذ المعامل writeback
القيمة True
، فإنّ الكائن سيخزن جميع العناصر التي تم الوصول إليها في الذاكرة المخبئية وسيعيد كتابة هذه العناصر في القاموس المعطى عند تنفيذ التابعين عند مزامنة الرفّ وإغلاقه. يتيح هذا إجراء عمليات طبيعية على العناصر القابلة للتعديل، ولكن يمكن أن يستهلك مقدارًا أكبر من الذاكرة ويتسبب في تأخير عمليتي المزامنة والإغلاق.
keyencoding
الترميز المستخدم لترميز المفاتايح قبل استخدامها في القاموس الداخلي.
يمكن استخدام كائن Shelf
كمدير للسياق contenx manager، وفي هذه الحالة سيُغلق الكائن تلقائيًا عند انتهاء الكتلة التي تضمّ الكائن.
ملاحظة: أضيف المعامل keyencoding
في الإصدار 3.2 من اللغة. كانت المفاتيح ترمّز بالترميز UTF-8 في الإصدارات السابقة من بايثون.
ملاحظة: دعم إدارة السياق أضيف في الإصدار 3.4 من اللغة.
انظر أيضًا
- الصنف
shelve.BsdDbShelf
: صنف متفرّع من الصنفShelf
ويقدّم التوابعfirst()
وnext()
وprevious()
وlast()
وset_location()
وهي متوفّرة في الوحدةbsddb
منpybsddb
ولكن ليس في وحدات قواعد البيانات الأخرى.
- الصنف
shelve.DbfilenameShelf
: صنف متفرّع من الصنفShelf
ويأخذ ملفًّا عوضًا عن كائن شبيه بالقاموس.