الصنف shelve.Shelf()‎ في بايثون

من موسوعة حسوب
< Python‏ | shelve
مراجعة 20:00، 20 سبتمبر 2018 بواسطة Mohammed Taher (نقاش | مساهمات)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)


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

مصادر

صفحة Python object persistence في توثيق بايثون الرسمي.