كيفية استخدام الوحدة القياسية marshal‎ في لغة البرمجة بايثون

اقرأ في هذا المقال


كيفية استخدام الوحدة القياسية marshal‎ في لغة البرمجة بايثون

تعد الوحدة (marshal) واحدة من الوحدات القياسية التي تستخدم في لغة البرمجة بايثون (Python)، حيث تضمّ هذه الوحدة مجموعة من الدوال التي من الممكن من خلالها قراءة وكتابة القيم الخاصة بلغة البرمجة بايثون بالصيغة الثنائية (binary format)، وتكون هذه الصيغة خاصة بلغة بايثون، وإنّ الهدف الرئيسي من استخدام وحدة (marshal) هو السماح لوحدات بايثون بقراءة الشيفرة وكتابتها في الملفات ذات الامتداد من نوع (‎(.pyc.

وتأثّر اسم هذه الوحدة بشكل كبير بالتسمية التي اعتمدها مصمّمو لغة  البرمجة (Modula-3) لهذه العملية، إذ يستخدم هؤلاء المصطلح (marshalling) للتعبير عن القيام بعملية نقل البيانات، وهناك العديد من الدوال والثوابت الخاصة بهذه الوحدة.

أهم الدوال الخاصة بالوحدة marshal‎ في لغة البرمجة بايثون

هناك العديد من الدوال الخاصة بالوحدة (marshal) في لغة البرمجة بايثون، وفيما يلي جدول يحتوي على أهم هذه الدوال:

الدالةالاستخدام

الدالة marshal. dump()‎

تقوم هذه الدالة بكتابة القيمة المعطاة في الملف المفتوح، والشكل العام لها على النحو التالي:
marshal. dump(value,file[,version])

الدالة marshal.load()‎

تقوم هذه الدالة بقراءة قيمة واحدة من الملف المفتوح وتقوم بإرجاعها، والشكل العام لها على النحو التالي:
marshal .load(file)

الدالة marshal .dumps()‎

تقوم هذه الدالة بإرجاع كائن من نوع (bytes) والذي ستجري كتابته في ملفّ معين بواسطة الدالة (dump (value, file)‎).

الدالة marshal. loads()‎

تقوم هذه  الدالة بتحويل الكائنات الشبيهة بالبايتات إلى قيمة معينة.

أهم أنواع الكائنات التي تدعمها الوحدة marshal‎ في لغة البرمجة بايثون

هناك العديد من الكائنات التي تدعمها الوحدة (marshal) في لغة البرمجة بايثون، حيث أن هذه الوحدة لا تدعم جميع كائنات بايثون، وفيما يلي قائمة بأهم أنواع الكائنات التي تدعمها هذه الوحدة:

  • القيم من نوع  (Booleans).
  • الأعداد الصحيحة (Integer).
  • الأعداد العشرية ذات الفاصلة العائمة (Float Numbers).
  • الأعداد المركبة (Complex number).
  • السلاسل النصية.
  • البايتات (bytes).
  • مصفوفات البايتات.
  • القوائم.
  • المجموعات.
  • المجموعات المجمدة (frozen set‎ ).
  • القواميس (Dictionaries).
  • كائنات (code).

ويجب الانتباه إلى أنّ الصفوف والقوائم والمجموعات والمجموعات المجمّدة والقواميس مدعومة من قبل هذه الوحدة ولكن بوجود شرط، وهو أن تحتوي على قيم قابلة للترتيب بحد ذاتها.

المصدر: marshal — Internal Python object serialization¶Internal Python Object Serialization using marshamarshal — Internal Python object serializationInternal Python object serialization (marshal)


شارك المقالة: