تقنية

imghdr في بايثون 3.12: ماذا يثبت المعاد gif؟

ترويسة تعيد gif
مثال مؤلف. [1] [2] [3]

نختبر ستة بايتات مؤلفة، لا ملف صورة. [1] [2] [3]

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

المعاد gif تصنيف للترويسة؛ لم نفك ترميز صورة. [1] [2] [3]

  • الخرج: gif ثم 6 في 3.12.14. [1] [2] [3]
  • عند تقديم h يُتجاهل وسيط الملف، حتى لاحقته .png هنا. [1] [2] [3]
  • يتعرف الفحص إلى بداية GIF89a في مثالنا. [1] [2] [3]
  • لم نفتح الملف أو نفحص عرضه أو أبعاده. [1] [2] [3]
  • المكتبة مهجورة منذ 3.11 ومحذوفة منذ 3.13. [1] [2] [3]

المثال

import imghdr
h=b"GIF89a"
v=imghdr.what("unused.png",h=h)
print(v)
print(len(h))

[1] [2] [3]

البايتات والاسم

عند تقديم h يفحص التنفيذ بايتاتنا، لا اسم unused.png. يكفي تطابق أول ستة بايتات مع التوقيع هنا لإرجاع gif؛ لم نمرر بقية بيانات صورة. [1] [2] [3]

ستة بايتات فقط
لا فك ترميز. [1] [2] [3]

حد الدليل

قصرنا الترويسة إلى b"GIF89" فأعيد None في فحصنا. لا نحول تصنيف النوع إلى ضمان اكتمال أو صلاحية العرض. هذا شرح لواجهة قديمة، وليس توصية باستعمالها في إصدار حديث. [1] [2] [3]

المراجع

  1. Python3.12: imghdr.what
  2. CPython3.12.14: imghdr.py
  3. Python: imghdr removal
  4. موضوع تك: لغة بايثون — مفردات
  5. موضوع تك: تطبيقات بايثون — مفردات

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