تقنية

UID في بايثون: هل يمكن حفظها بتنسيق XML؟

استعادة الكائن الثنائي
مثال محلي توضيحي [1] [2]

اختيار التنسيق يؤثر في دعم هذا النوع. [1] [2]

الخلاصة السريعة

لا في مثالنا؛ XML يرفضه، والثنائي يستعيده. [1] [2]

  • دعم UID في plistlib يخص التنسيق الثنائي. [1] [2]
  • UID تغلف عددًا صحيحًا 0≤data<2⁶⁴؛ data تعرضه. [1] [2]
  • على CPython 3.12.14، حفظ UID(7) بثنائي ثم قراءته يعيد UID وقيمة 7. [1] [2]
  • مع FMT_XML يثير حفظ الكائن نفسه TypeError في التجربة. [1] [2]
  • تحكم: العدد الصحيح 7 يحفظ ويستعاد بـXML؛ التجربة في الذاكرة. [1] [2]

النوع والتنسيق

دعم UID في plistlib يخص التنسيق الثنائي. [1] [2]

UID تغلف عددًا صحيحًا 0≤data<2⁶⁴؛ data تعرضه. [1] [2]

الاستعادة الثنائية

على CPython 3.12.14، حفظ UID(7) بثنائي ثم قراءته يعيد UID وقيمة 7. [1] [2]

import plistlib as p
x=p.UID(7)
y=p.loads(p.dumps(x,fmt=p.FMT_BINARY))
print(type(y).__name__,y.data)

[1] [2]

رفض وتحكم

مع FMT_XML يثير حفظ الكائن نفسه TypeError في التجربة. [1] [2]

try: p.dumps(x,fmt=p.FMT_XML)
except TypeError: print("TypeError")

[1] [2]

تحكم: العدد الصحيح 7 يحفظ ويستعاد بـXML؛ التجربة في الذاكرة. [1] [2]

رفض XML وتحكم
مقارنة توضيحية [1] [2]

المراجع

  1. Python 3.12: plistlib UID
  2. CPython 3.12.14: plistlib
  3. موضوع تك: لغة بايثون — مفردات
  4. موضوع تك: تطبيقات بايثون — مفردات

للتوسع: بحث عن لغات البرمجة

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