الصنف shelve.Shelf()
في بايثون
صنف متفرّع من الصنف 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
ويأخذ ملفًّا عوضًا عن كائن شبيه بالقاموس.