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