الفرق بين المراجعتين لصفحة: «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 أو كائن TarInfo، ويمكن تعيين مجلد مختلف باستخدام المعامل path الذي يمكن أن يكون كائنًا شبيهًا بالمسارات path-like object.
 
=== <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>.  


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


تحذير
لا يهتمّ التابع <code>extract()‎</code> بالكثير من المشاكل التي تحدث أثناء عملية استخراج الملفات؛ لذا ينصح باستخدام التابع <code>[[Python/TarFile/extractall|extractall()‎]]</code> في معظم الحالات.
لا تستخرج الملفات من ملفات أرشيف غير موثوقة المصدر دون التحري عنها مسبقًا. من المحتمل أن تكون الملفات قد أُنشئت خارج المسار path، كأن يمتلك الأعضاء مسارات ملفات مطلقة تبدأ بالرمز "/" أو "..".


'''ملاحظات:'''
'''تحذير:'''


* أضيف المعامل set_attrs في الإصدار 3.2 من بايثون.
لا تستخرج الملفات من ملفات أرشيف غير موثوقة المصدر دون التحري عنها مسبقًا. من المحتمل أن تكون الملفات قد أُنشئت خارج المسار <code>path</code>، كأن يمتلك الأعضاء مسارات ملفات مطلقة تبدأ بالرمز <code>"/"</code> أو <code>".."</code>.
* أضيف المعامل numeric_owner في الإصدار 3.5 من بايثون.
* أصبح بالإمكان استخدام كائنات شبيهة بالمسارات path-like objects مع المعامل path في الإصدار 3.6 من بايثون.


== أمثلة ==
== أمثلة ==
سطر 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 في توثيق بايثون الرسمي.