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

من موسوعة حسوب
مراجعة 07:43، 16 نوفمبر 2018 بواسطة Mohammed Taher (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:التابع <code>ZipFile.extract()‎‎</code> في بايثون}}</noinclude> يستخرج التابع الملف العضو المعطى...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

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

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

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()‎: يستخرج التابع جميع الأعضاء في ملف الأرشيف إلى المجلد الحالي.

مصادر

صفحة Work with ZIP archives في توثيق بايثون الرسمي.