كيفية اختيار المخلل في بايثون

How Pickle Objects Python



يمكن إجراء تسلسل لأي بيانات وإلغاء تسلسلها في Python باستخدام الوحدة النمطية JSON و Pickle. قبل تخزين أي بيانات في ملف ، يتم إجراء تسلسل لكائنات Python باستخدام وحدة pickle. يتم تحويل كائنات Python إلى تدفقات شخصية باستخدام هذه الوحدة. عندما يريد المستخدم استرداد بيانات الملف لاستخدام برنامج نصي بيثون آخر ، يتم إلغاء تسلسل بيانات الملف بواسطة وحدة pickle. تم وصف ميزات وحدة pickle وكيف يمكن استخدام هذه الوحدة في نص Python للتسلسل وإلغاء التسلسل في هذا البرنامج التعليمي.

ميزات المخلل:

  • تم تصميمه بشكل أساسي لاستخدامه في نصوص Python.
  • يتم استخدامه لحفظ كائنات الثعبان بين العمليات.
  • إنه يتتبع جميع العناصر المتسلسلة ولن يتم إجراء تسلسل للكائن الذي تم إجراء تسلسل له من قبل مرة أخرى.
  • يمكنه حفظ واستعادة مثيل الفئة بشفافية.
  • إنه غير آمن للاستخدام. لذلك ، ليس من الأفضل فصل البيانات من مصدر غير معروف.

تفريغ () للتسلسل:

يتم استخدام وظيفة dump () لتحويل بيانات الكائن إلى دفق أحرف قبل الحفظ في ملف. يمكن أن تأخذ هذه الوظيفة ثلاث حجج. الوسيطتان الأوليان إلزاميتان والوسيطة الأخيرة اختيارية. تأخذ الوسيطة الأولى كائن بيانات يحتاج إلى إجراء تسلسل. تأخذ الوسيطة الثانية كائن معالج الملف لهذا الملف حيث سيتم تخزين البيانات المقيدة. تأخذ الوسيطة الأخيرة اسم البروتوكول.







بناء الجملة:



أحمق(كائن_بياناتوfile_objectو [بروتوكول])

تحميل () لإلغاء التسلسل:

يتم استخدام وظيفة load () لتحويل بيانات دفق الأحرف من الملف إلى كائن Python. تحتوي هذه الوظيفة على وسيطة واحدة فقط ويتم تمرير كائن معالج الملف الخاص بالملف كقيمة وسيطة من حيث سيتم استرداد البيانات.



بناء الجملة:





حمل(file_object)

اختر كائنًا بسيطًا لتخزينه في ملف

قم بإنشاء ملف باسم مخلل مع نص Python النصي التالي. في البرنامج النصي التالي ، تم تسمية كائن بيانات كائن البيانات تم التصريح عن تخزين خمس أسماء لغات عن طريق تكرار حلقة for. بعد ذلك ، يتم استخدام طريقة open () لتعيين معالج ملف لإنشاء ملف ثنائي باسم اللغات. أحمق() يتم استخدام الوظيفة هنا لتسلسل بيانات كائن البيانات وتخزينه في ملف اللغات ملف. إذا تم إجراء التسلسل بشكل صحيح ، فستتم طباعة رسالة ، يتم تسلسل البيانات.

# استيراد وحدة المخلل
يستورد ورطة

# قم بتعريف الكائن لتخزين البيانات
كائن البيانات= []

# كرر حلقة for 5 مرات وخذ أسماء اللغات
لنفي نطاق(5):
الخام= إدخال('أدخل اسم اللغة:')

كائن البيانات.ألحق(الخام)

# افتح ملفًا لكتابة البيانات
معالج الملفات= افتح('اللغات'و 'wb')

# تفريغ بيانات الكائن في الملف
ورطة.أحمق(كائن البياناتومعالج الملفات)

# أغلق معالج الملف لتحرير الموارد
معالج الملفات.أغلق()

# طباعة الرسالة
مطبعة('البيانات متسلسلة')

انتاج:



بعد تشغيل البرنامج النصي ، سيأخذ خمسة أسماء لغات كمدخلات.

فصل البيانات من ملف

إن عدم انتقاء البيانات هو عكس عملية تخليل البيانات. قم بإنشاء ملف باسم مخلل مع نص Python النصي التالي. هنا، افتح() يتم استخدام الطريقة لفتح الملف الثنائي المسمى اللغات ، تم إنشاؤه في المثال السابق. حمل() تُستخدم الدالة لإلغاء انتقاء البيانات من الملف وتخزينها في المتغير كائن البيانات . التالي، ل يتم استخدام حلقة تكرار البيانات من ملف كائن البيانات وطباعة في المحطة.

# استيراد وحدة المخلل
يستورد ورطة

# افتح معالج ملف لقراءة ملف من حيث سيتم تحميل البيانات
معالج الملفات= افتح('اللغات'و 'rb')

# قم بتحميل البيانات من الملف بعد إلغاء التسلسل
كائن البيانات= ورطة.حمل(معالج الملفات)

# أغلق معالج الملف
معالج الملفات.أغلق()

# طباعة الرسالة
مطبعة('البيانات بعد إلغاء التسلسل')

# كرر الحلقة لطباعة البيانات بعد إلغاء التسلسل
لساعةفيكائن البيانات:
مطبعة('قيمة البيانات'وساعة)

انتاج:

سيظهر الإخراج التالي بعد تشغيل البرنامج النصي.

اختر 'كائن فئة' إلى ملف

يتم عرض كيفية مخلل كائن فئة في المثال التالي. قم بإنشاء ملف باسم مخلل بالنص التالي. هنا، الموظف تم الإعلان عن فئة لتعيين ثلاث قيم بيانات للموظف. بعد ذلك ، يسمى كائن معالج الملف fileHandler تم إنشاؤه لفتح ملف للكتابة. بعد تهيئة كائن الفئة ، يتم إجراء تسلسل للبيانات باستخدام أحمق() وظيفة وتخزينها في الملف المسمى بيانات الموظف . إذا تم إنشاء الملف بشكل صحيح ، فستظهر الرسالة ، البيانات متسلسلة سوف تطبع.

# وحدة استيراد مخلل
يستورد ورطة

# قم بتعريف فئة الموظف لتخزين القيمة
صف دراسيالموظف:
def __فيه__(الذاتواسمو البريد الإلكترونيوبريد):
الذات.اسم =اسم
الذات.البريد الإلكتروني = البريد الإلكتروني
الذات.بريد =بريد

# إنشاء كائن الموظف
empObject=الموظف(فرحينو '[بريد إلكتروني محمي]'و 'مدير')

# فتح ملف لتخزين البيانات
fileHandler= افتح('بيانات الموظف'و 'wb')

# احفظ البيانات في الملف
ورطة.أحمق(empObjectوfileHandler)

# أغلق الملف
fileHandler.أغلق()

# طباعة الرسالة
مطبعة('البيانات متسلسلة')

انتاج:

سيظهر الإخراج التالي بعد تشغيل البرنامج النصي.

Unpickle البيانات إلى كائن فئة

سيتطلب الفصل الذي يحتوي على الخصائص والأساليب الضرورية الإعلان عن استرداد البيانات من ملف إلى كائن فئة. قم بإنشاء ملف باسم مخلل مع الكود التالي. الموظف يتم تعريف فئة هنا لاسترداد البيانات. fileObject متغير يستخدم لفتح الملف ، بيانات الموظف للقراءة. التالي، حمل() يتم استخدام الوظيفة لتخزين البيانات في كائن الفئة بعد إلغاء التسلسل. عرض() وظيفة الموظف يتم استدعاء class لطباعة قيم بيانات كائن الفئة.

# وحدة استيراد مخلل
يستورد ورطة

# إعلان فئة الموظف لقراءة وطباعة البيانات من ملف
صف دراسيالموظف:
def __فيه__(الذاتواسمو البريد الإلكترونيوبريد):
الذات.اسم =اسم
الذات.البريد الإلكتروني = البريد الإلكتروني
الذات.بريد =بريد

defعرض(الذات):
مطبعة('معلومات الموظف:')
مطبعة('اسم :'و الذات.اسم)
مطبعة('بريد الالكتروني :'و الذات.البريد الإلكتروني)
مطبعة('بريد :'و الذات.بريد)

# افتح الملف للقراءة
fileObject= افتح('بيانات الموظف'و 'rb')

# افصل البيانات
الموظف= ورطة.حمل(fileObject)

# إغلاق الملف
fileObject.أغلق()

# طباعة إطار البيانات
الموظف.عرض()

انتاج:

سيظهر الإخراج التالي بعد تشغيل البرنامج النصي.

استنتاج

تعتبر الوحدة النمطية Pickle ميزة مفيدة في Python لتسلسل البيانات وإلغاء التسلسل. بعد إكمال الأمثلة الموضحة في هذا البرنامج التعليمي ، سيكون نقل البيانات من نص بيثون إلى نص بيثون آخر أسهل على أي شخص.