الفرق بين المراجعتين لصفحة: «Python/TarFile/extract»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:التابع <code>TarFile.extract()</code> في بايثون}}</noinclude> يستخرج التابع عضوًا من ملف الأرش...' |
|||
سطر 7: | سطر 7: | ||
TarFile.extract(member, path="", set_attrs=True, *, numeric_owner=False) | TarFile.extract(member, path="", set_attrs=True, *, numeric_owner=False) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== المعاملات == | == المعاملات == | ||
يمكن للعضو أن يكون اسم ملف filename أو كائن | |||
=== <code>member</code> === | |||
يمكن للعضو المراد استخراجه من الأرشيف أن يكون اسم ملف <code>filename</code> أو كائن <code>[[Python/TarInfo|TarInfo]]</code>. | |||
=== <code>path</code> === | |||
يمكن تعيين مجلد مختلف باستخدام المعامل <code>path</code> الذي يمكن أن يكون كائنًا شبيهًا بالمسارات path-like object. | |||
'''ملاحظة:''' أصبح بالإمكان استخدام كائنات شبيهة بالمسارات path-like objects مع المعامل <code>path</code> في الإصدار 3.6 من بايثون. | |||
=== <code>set_attrs</code> === | === <code>set_attrs</code> === | ||
إن أخذ المعامل القيمة True فإنّ التابع سيعين معلومات الملف (المالك، وقت التعديل، ووضع الملف)، وإن أخذ المعامل القيمة False فلن يعين التابع تلك المعلومات. | إن أخذ المعامل القيمة <code>True</code> فإنّ التابع سيعين معلومات الملف (المالك، وقت التعديل، ووضع الملف)، وإن أخذ المعامل القيمة <code>False</code> فلن يعين التابع تلك المعلومات. | ||
'''ملاحظة:''' أضيف المعامل <code>set_attrs</code> في الإصدار 3.2 من بايثون. | |||
=== <code>numeric_owner</code> === | === <code>numeric_owner</code> === | ||
إن أخذ هذا المعامل القيمة True فإن الأعداد uid و gid من ملف tar ستستخدم لتعيين المالك أو المجموعة للملفات المستخرجة. أما إذا أخذ المعامل القيمة False تستخدم القيم المسماة من ملف tar. | إن أخذ هذا المعامل القيمة <code>True</code> فإن الأعداد <code>uid</code> و <code>gid</code> من ملف tar ستستخدم لتعيين المالك أو المجموعة للملفات المستخرجة. أما إذا أخذ المعامل القيمة <code>False</code> تستخدم القيم المسماة من ملف tar. | ||
'''ملاحظة:''' أضيف المعامل <code>numeric_owner</code> في الإصدار 3.5 من بايثون. | |||
== القيمة المعادة == | == القيمة المعادة == | ||
يعيد التابع القيمة <code>None</code>. | |||
'''ملاحظة:''' | '''ملاحظة:''' | ||
لا يهتمّ التابع <code>extract()</code> بالكثير من المشاكل التي تحدث أثناء عملية استخراج الملفات؛ لذا ينصح باستخدام التابع <code>[[Python/TarFile/extractall|extractall()]]</code> في معظم الحالات. | |||
لا | |||
''' | '''تحذير:''' | ||
لا تستخرج الملفات من ملفات أرشيف غير موثوقة المصدر دون التحري عنها مسبقًا. من المحتمل أن تكون الملفات قد أُنشئت خارج المسار <code>path</code>، كأن يمتلك الأعضاء مسارات ملفات مطلقة تبدأ بالرمز <code>"/"</code> أو <code>".."</code>. | |||
== أمثلة == | == أمثلة == | ||
سطر 44: | سطر 50: | ||
== انظر أيضًا == | == انظر أيضًا == | ||
*التابع <code>[[Python/TarFile/extractall|TarFile.extractall()]]</code>: يستخرج التابع جميع الأعضاء من ملف الأرشيف إلى المجلد الحالي أو المسار المعطى. | |||
*التابع <code>[[Python/TarFile/extractfile|TarFile.extractfile()]]</code>: يستخرج التابع العضو المحدّد في المعاملات من ملف الأرشيف ككائن ملف. | |||
== مصادر == | == مصادر == | ||
[https://docs.python.org/3/library/tarfile.html#tarfile.TarFile.extract صفحة Read and write tar archive files في توثيق بايثون الرسمي.] | [https://docs.python.org/3/library/tarfile.html#tarfile.TarFile.extract صفحة Read and write tar archive files في توثيق بايثون الرسمي.] |
المراجعة الحالية بتاريخ 19:31، 14 نوفمبر 2018
يستخرج التابع عضوًا من ملف الأرشيف إلى المجلد الحالي مستخدمًا اسمه الكامل، ويجري استخراج معلومات الملف الخاص به بأكبر دقة ممكنة.
البنية العامة
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 في توثيق بايثون الرسمي.