التابع ZipFile.extract()‎‎ في بايثون

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث

يستخرج التابع الملف العضو المعطى من الأرشيف إلى المجلد الحالي.

البنية العامة

ZipFile.extract(member, path=None, pwd=None)

المعاملات

member

اسم عضو الأرشيف الكامل أو كائن ZipInfo. يحاول التابع استخراج المعلومات بأكبر دقة ممكنة.

path

المجلد الذي ترغب في استخراج الملف إليه بدلًا من المجلد الحالي.

pwd

كلمة المرور المستخدمة في تعمية الملف المضغوط.

القيمة المعادة

يعيد التابع المسار المسوّى (normalized path) الناشئ (مجلّد أو ملف جديد).

ملاحظات:

  • إن امتلك اسم الملف لعضو معيّن في الأرشيف مسارًا مطلقًا، فسيُحذف منه اسم محرّك الأقراص أو نقطة مشاركة UNC إضافة إلى الخطوط المائلة، فيتحول المسار ‎///foo/bar إلى foo/bar في نظام يونكس، ويتحول المسار C:\foo\bar إلى foo\bar في نظام ويندوز. كذلك تُحذف جميع النقاط ".." من اسم الملف، فيتحول المسار ‎../../foo../../ba..r إلى foo../b..r. كذلك تُستبدل المحارف التي لا يمكن استخدامها في تسمية الملفات (:، <، >، |، "، ?، *) بالشرطة السفلية (_).
  • يؤدي استدعاء التابع extract()‎ على كائن ZipFile مغلق إلى إطلاق الاستثناء ValueError في الإصدار 3.6 من بايثون. كان التابع يطلق الاستثناء RuntimeError في الإصدارات السابقة.
  • أصبح المعامل path يستقبل كائنات شبيهة بالمسارات path-like objects في الإصدار 3.6.2 من بايثون.

أمثلة

يبين المثال التالي آلية عمل التابع:

>>> import zipfile
>>> zip = zipfile.ZipFile('files.zip')
>>> zip.extract('file2.html')
'/home/myfiles/file2.html'

انظر أيضًا

  • التابع ZipFile.extractall()‎: يستخرج التابع جميع الأعضاء في ملف الأرشيف إلى المجلد الحالي.

مصادر