اذهب إلى المحتوى

السؤال

نشر

أريد قراءة ملف من نوع BMP في بايثون، فأنا أعرف أن أول 2 بايت يشيران إلى BMP firm وأما البيتات الأربعة اللاحقة فهي تشير إلى حجم الملف.
جربت الحصول على هذه المعلومات من الملف لكنني أحصل على رسائل خطأ كثيرة، فما الطريقة الصحيحة لفعل ذلك؟

Recommended Posts

  • 0
نشر

يبدو أنك استخدمت تابع read وهذا التابع يرجع لك مجموعة من البايتات كسلسلة نصية، ولتحويل هذه السلسلة إلى بيانات نظام الثنائي (binary data) يمكنك استخدام دالة unpack من وحدة struct كما في هذا المثال:

import struct
 
size = struct.unpack('i', fin.read(4))

لاحظ أن Unpack تُرجع دائما tuple لذلك يمكنك استخدام struct.unpack('i', fin.read(4))[0] للحصول على قيمة العدد الصحيح التي تبحث عنها.

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...