الفرق بين المراجعتين ل"Python/shelve/Shelf"

من موسوعة حسوب
< Python‏ | shelve
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:التابع <code>Cursor.execute()‎</code> في بايثون}}</noinclude> == البنية العامة == <syntaxhighlight lang="python3...')
 
 
(مراجعة متوسطة واحدة بواسطة نفس المستخدم غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE:التابع <code>Cursor.execute()‎</code> في بايثون}}</noinclude>
+
<noinclude>{{DISPLAYTITLE:الصنف <code>shelve.Shelf()‎</code> في بايثون}}</noinclude>
  
 +
صنف متفرّع من الصنف <code>[[Python/collections.abc#.D8.A7.D9.84.D8.B5.D9.86.D9.81 collections.abc.MutableMapping|collections.abc.MutableMapping]]</code> مهمّته تخزين القيم المسلسلة في كائن <code>dict</code> المعطى.
  
 
== البنية العامة ==
 
== البنية العامة ==
سطر 7: سطر 8:
 
shelve.Shelf(dict, protocol=None, writeback=False, keyencoding='utf-8')
 
shelve.Shelf(dict, protocol=None, writeback=False, keyencoding='utf-8')
 
</syntaxhighlight>
 
</syntaxhighlight>
 
 
== المعاملات ==
 
== المعاملات ==
  
سطر 13: سطر 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 القيمة True، فإنّ الكائن سيخزن جميع العناصر التي تم الوصول إليها في الذاكرة المخبئية وسيعيد كتابة هذه العناصر في القاموس المعطى عند تنفيذ التابعين عند مزامنة الرفّ وإغلاقه. يتيح هذا إجراء عمليات طبيعية على العناصر القابلة للتعديل، ولكن يمكن أن يستهلك مقدارًا أكبر من الذاكرة ويتسبب في تأخير عمليتي المزامنة والإغلاق.
+
إن أخذ المعامل <code>writeback</code> القيمة <code>True</code>، فإنّ الكائن سيخزن جميع العناصر التي تم الوصول إليها في الذاكرة المخبئية وسيعيد كتابة هذه العناصر في القاموس المعطى عند تنفيذ التابعين عند مزامنة الرفّ وإغلاقه. يتيح هذا إجراء عمليات طبيعية على العناصر القابلة للتعديل، ولكن يمكن أن يستهلك مقدارًا أكبر من الذاكرة ويتسبب في تأخير عمليتي المزامنة والإغلاق.
  
 
=== <code>keyencoding</code> ===
 
=== <code>keyencoding</code> ===
سطر 22: سطر 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 ويأخذ ملفًّا عوضًا عن كائن شبيه بالقاموس.

مصادر

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