يعد Pickle ، الذي يعد جزءًا من مكتبة Python افتراضيًا ، وحدة نمطية مهمة كلما احتجت إلى المثابرة بين جلسات المستخدم. كوحدة نمطية ، يوفر المخلل توفير كائنات Python بين العمليات.
سواء كنت البرمجة ل قاعدة البياناتأو اللعبة أو المنتدى أو بعض التطبيقات الأخرى التي يجب أن تحفظ المعلومات بين الجلسات ، والمخلل مفيد لحفظ المعرفات والإعدادات. يمكن لوحدة المخلل تخزين أشياء مثل أنواع البيانات مثل منطقية ، سلاسل ، صفائف البايت ، قوائم ، قواميس ، وظائف ، وأكثر من ذلك.
ملحوظة: يُعرف مفهوم التخليل أيضًا بالتسلسل والتنظيم والتسوية. ومع ذلك ، فإن النقطة هي نفسها دائمًا — لحفظ كائن في ملف لاستعادته لاحقًا. يحقق التخليل ذلك عن طريق كتابة الكائن كدفق واحد طويل من وحدات البايت.
مثال رمز المخلل في بايثون
لكتابة كائن إلى ملف ، يمكنك استخدام رمز في بناء الجملة التالي:
استيراد المخلل
كائن = كائن ()
filehandler = open (اسم الملف ، 'w')
pickle.dump (كائن ، filehandler)
إليك كيفية ظهور مثال في العالم الحقيقي:
استيراد المخلل
استيراد الرياضيات
object_pi = math.pi
file_pi = open ('filename_pi.obj' ، 'w')
pickle.dump (object_pi ، file_pi)
هذا المقتطف يكتب محتويات object_pi إلى الملف ملف file_pi، والتي بدورها لا بد للملف filename_pi.obj في دليل التنفيذ.
لاستعادة قيمة الكائن إلى الذاكرة ، قم بتحميل الكائن من الملف. على افتراض أن المخلل لم يتم استيراده بعد للاستخدام ، ابدأ باستيراده:
استيراد المخلل
filehandler = open (اسم الملف ، 'r')
كائن = pickle.load (filehandler)
تستعيد التعليمة البرمجية التالية قيمة pi:
استيراد المخلل
file_pi2 = open ('filename_pi.obj' ، 'r')
object_pi2 = pickle.load (file_pi2)
الكائن جاهز للاستخدام مرة أخرى ، هذه المرة باسم object_pi2. يمكنك بالطبع إعادة استخدام الأسماء الأصلية ، إذا كنت تفضل ذلك. يستخدم هذا المثال أسماء مميزة للوضوح.
أشياء يجب تذكرها حول المخلل
ضع هذه الأشياء في الاعتبار عند استخدام وحدة المخلل:
- بروتوكول المخلل خاص ببيثون - ليس مضمونًا أن يكون متوافقًا مع اللغات. على الأرجح لن تتمكن من نقل المعلومات لجعلها مفيدة في Perl أو PHP أو Java أو لغات أخرى.
- لا يوجد أيضًا أي ضمان للتوافق بين إصدارات Python المختلفة. يوجد عدم توافق لأنه لا يمكن إجراء تسلسل لكل بنية بيانات Python بواسطة الوحدة النمطية.
- افتراضيًا ، يتم استخدام أحدث إصدار من بروتوكول المخلل. يبقى بهذه الطريقة إلا إذا قمت بتغييره يدوياً.
تلميح: اكتشف أيضًا كيفية استخدام رفوف لحفظ الكائنات في بيثون لطريقة أخرى للحفاظ على استمرارية الكائن.