التابع 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()
: يستخرج التابع العضو المحدّد في المعاملات من ملف الأرشيف ككائن ملف.
مصادر
صفحة Read and write tar archive files في توثيق بايثون الرسمي.