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

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


يستخرج التابع عضوًا من ملف الأرشيف إلى المجلد الحالي مستخدمًا اسمه الكامل، ويجري استخراج معلومات الملف الخاص به بأكبر دقة ممكنة.

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

TarFile.extract(member, path="", set_attrs=True, *, numeric_owner=False)

المعاملات

member

‎يمكن للعضو المراد استخراجه من الأرشيف أن يكون اسم ملف filename أو كائن TarInfo.

path

يمكن تعيين مجلد مختلف باستخدام المعامل path الذي يمكن أن يكون كائنًا شبيهًا بالمسارات path-like object.

ملاحظة: أصبح بالإمكان استخدام كائنات شبيهة بالمسارات path-like objects مع المعامل path في الإصدار 3.6 من بايثون.

set_attrs

إن أخذ المعامل القيمة True فإنّ التابع سيعين معلومات الملف (المالك، وقت التعديل، ووضع الملف)، وإن أخذ المعامل القيمة False فلن يعين التابع تلك المعلومات.

ملاحظة: أضيف المعامل set_attrs في الإصدار 3.2 من بايثون.

numeric_owner

إن أخذ هذا المعامل القيمة True فإن الأعداد uid و gid من ملف tar ستستخدم لتعيين المالك أو المجموعة للملفات المستخرجة. أما إذا أخذ المعامل القيمة False تستخدم القيم المسماة من ملف tar.

ملاحظة: أضيف المعامل numeric_owner في الإصدار 3.5 من بايثون.

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

يعيد التابع القيمة None.

ملاحظة:

لا يهتمّ التابع extract()‎ بالكثير من المشاكل التي تحدث أثناء عملية استخراج الملفات؛ لذا ينصح باستخدام التابع extractall()‎ في معظم الحالات.

تحذير:

لا تستخرج الملفات من ملفات أرشيف غير موثوقة المصدر دون التحري عنها مسبقًا. من المحتمل أن تكون الملفات قد أُنشئت خارج المسار path، كأن يمتلك الأعضاء مسارات ملفات مطلقة تبدأ بالرمز "/" أو "..".

أمثلة

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

>>> import tarfile
>>> tar = tarfile.open('files.tar')
>>> tar.extract('file2.html')

انظر أيضًا

  • التابع TarFile.extractall()‎: يستخرج التابع جميع الأعضاء من ملف الأرشيف إلى المجلد الحالي أو المسار المعطى.
  • التابع TarFile.extractfile()‎: يستخرج التابع العضو المحدّد في المعاملات من ملف الأرشيف ككائن ملف.

مصادر

صفحة Read and write tar archive files في توثيق بايثون الرسمي.