الوحدة gzip في بايثون

من موسوعة حسوب


تقدّم هذه الوحدة واجهة بسيطة لضغط الملفات وفك ضغطها بنفس الأسلوب المتّبع في برنامجي gzip و gunzip في GNU. وتجري عملية ضغط البيانات بواسطة وحدة zlib.

تقدّم وحدة gzip الصنف GzipFile إضافة إلى الدوال open()‎ و compress()‎ و decompress()‎.

يدعم برنامجا gzip و gunzip صيغ ملفات أخرى مثل تلك التي تنتج من compress و pack، ولكن يجدر التنبيه إلى أنّ هذه الصيغة غير مدعومة من قبل هذه الوحدة.

تعرّف الوحدة العناصر التالية:

الدالة gzip.open()

تفتح الدالة ملفًّا مضغوطًا بواسطة gzip في النمط الثنائي binary mode أو النصي text mode،  وتعيد كائن ملف.

الصنف GzipFile

يقرأ الصنف GzipFile ويكتب الملفات ذات الصيغة gzip، ويضغط البيانات ويفك الضغط عنها تلقائيًا لتبدو كأنّها كائن ملف عاديّ.

الدالة gzip.compress()‎

تضغط الدالة البيانات المعطاة وتعيد كائن bytes يتضمّن البيانات المضغوطة.

الدالة gzip.decompress()‎

تفكّ الدالة الضغط عن البيانات المعطاة وتعيد كائن bytes يتضمّن البيانات غير المضغوطة.

انظر أيضًا

  • الوحدة zlib: تتيح الدوال المتوفّرة في هذه الوحدة إجراء عمليات الضغط وفك الضغط على البيانات باستخدام مكتبة zlib.
  • الوحدة bz2 : تقدّم هذه الوحدة واجهة متكاملة لضغط البيانات وفك الضغط عنها باستخدام خوارزمية الضغط bzip2.

مصادر