التابع TarFile.extractall()
في بايثون
يستخرج التابع جميع الأعضاء من ملف الأرشيف إلى المجلد الحالي أو المسار المعطى.
البنية العامة
TarFile.extractall(path=".", members=None, *, numeric_owner=False)
المعاملات
memebers
معامل اختياري، ويجب أن يكون مجموعة متفرّعة subset من القائمة المعادة من التابع getmembers()
. يجري تحديد المعلومات الخاصة بالمجلد مثل صاحب المجلد ووقت التعديل والأذونات بعد استخراج جميع الأعضاء من ملف الأرشيف، ويحدث هذا لسببين:
- يعاد تعيين قيمة وقت التعديل للمجلد في كل مرة يتم فيها إنشاء ملف جديد فيه.
- إن لم تسمح أذونات مجلّد معين بالكتابة فيه، ستفشل عملية استخراج الملفات إلى ذلك المجلد.
numeric_owner
إن أخذ هذا المعامل القيمة True
فإن الأعداد uid
و gid
من ملف tar ستستخدم لتعيين المالك أو المجموعة للملفات المستخرجة. أما إذا أخذ المعامل القيمة False
تستخدم القيم المسماة من ملف tar.
تحذير:
لا تستخرج الملفات من ملفات أرشيف غير موثوقة المصدر دون التحري عنها مسبقًا. من المحتمل أن تكون الملفات قد أُنشئت خارج المسار path
، كأن يمتلك الأعضاء مسارات ملفات مطلقة تبدأ بالرمز "/"
أو ".."
.
ملاحظات:
- أضيف المعامل
numeric_owner
في الإصدار 3.5 من بايثون. - أصبح بالإمكان استخدام كائنات شبيهة بالمسارات path-like objects مع المعامل
path
في الإصدار 3.6 من بايثون.
القيمة المعادة
يعيد التابع القيمة None
.
أمثلة
يبين المثال التالي آلية عمل التابع:
>>> import tarfile
>>> tar = tarfile.open('files.tar', 'r')
>>> tar.extractall()
انظر أيضًا
- التابع
TarFile.extract()
: يستخرج التابع عضوًا من ملف الأرشيف إلى المجلد الحالي مستخدمًا اسمه الكامل. - التابع
TarFile.extractfile()
: يستخرج التابع العضو المحدّد في المعاملات من ملف الأرشيف ككائن ملف.