الفرق بين المراجعتين لصفحة: «Python/stat»

من موسوعة حسوب
إنشاء مبدئي
 
لا ملخص تعديل
سطر 1: سطر 1:
The <code>stat</code> module defines constants and functions for interpreting the results of <code>os.stat()</code><code>os.fstat()</code> and <code>os.lstat()</code> (if they exist). For complete details about the <code>stat()</code>, <code>fstat()</code> and <code>lstat()</code> calls, consult the documentation for your system.
يُعرّف الصنف <code>stat</code> ثوابت وتوابع لمعالجة نتيجة استدعاء التوابع <code>[[Python/os/stat|os.stat()]]‎</code>و<code>[[Python/os/fstat|os.fstat‎‎()]]‎</code>  و<code>[[Python/os/lstat|os.lstat()]]‎</code> وكذلك بطبيعة الحال فهو يعالج نتائج التابع <code>[[Python/pathlib/Path/stat|Path.stat‎()]]‎</code>، ولا يتم إنشاء كائنات منه، فجميع التوابع والثوابت يمكن الوصول إليها مباشرة من الصنف.


Changed in version 3.4: The stat module is backed by a C implementation.


The <code>stat</code> module defines the following functions to test for specific file types:
تنقسم التوابع إلى عدة أقسام حسب الوظيفة، وهي كما يلي:
 
== توابع كشف نوع الملفات ==
 
===التابع <code>[[Python/stat/S_ISDIR|stat.S_ISDIR]]</code>===
للكشف عن كون النمط مشيرًا إلى مجلد.
===التابع <code>[[Python/stat/S_ISCHR|stat.S_ISCHR]]</code>===
للكشف عن كون النمط مشيرًا إلى ملف  character special device.
===التابع <code>[[Python/stat/S_ISBLK|stat.S_ISBLK]]</code>===
للكشف عن كون النمط مشيرًا إلى ملف block special device.
===التابع <code>[[Python/stat/S_ISREG|stat.S_ISREG]]</code>===
للكشف عن كون النمط مشيرًا إلى ملف نظامي.
===التابع <code>[[Python/stat/S_ISFIFO|stat.S_ISFIFO]]</code>===
للكشف عن كون النمط مشيرًا إلى FIFO (أُنبوب مُسمّى) (named pipe).
===التابع <code>[[Python/stat/S_ISLNK|stat.S_ISLNK]]</code>===
للكشف عن كون النمط مشيرًا إلى اختصار.
===التابع <code>[[Python/stat/S_ISSOCK|stat.S_ISSOCK]]</code>===
للكشف عن كون النمط مشيرًا إلى socket.
 
===ميزة التوابع الكشف في الصنف <code>stat</code>===
تجدر الإشارة إلى أن الطريقة النموذجية للكشف عن نوع ملف ما، هي باستخدام التوابع <code>os.path.is*()</code>، إلا أن توابع الكشف في الصنف <code>stat</code> تسمح بتوفير الموارد عند الحاجة إلى القيام بالعديد من الاختبارات، بدلًا من القيام باستدعاء نظام (system call) في كل اختبار.
كما أنها مفيدة للكشف عن أنواع الملفات التي لا يتعامل معها الصنف <code>[[Python/os/path|os.path]]</code>، كاختبارات block device و character device.
 
==توابع مساعدة ==
===التابع <code>[[Python/stat/S_IMODE|stat.S_IMODE]]</code>===
يستخرج من النمط (mode) القسم القابل للتعديل باستخدام التابع <code>os.chmod</code>.
===التابع <code>[[Python/stat/S_IFMT|stat.S_IFMT]]</code>===
يستخرج من النمط (mode) القسم المعبر عن نوع الملف، وهو القسم الذي تتعامل معه التوابع <code>IS_*</code> المذكور سلفًا.

مراجعة 11:35، 19 أغسطس 2018

يُعرّف الصنف stat ثوابت وتوابع لمعالجة نتيجة استدعاء التوابع os.stat()وos.fstat‎‎()  وos.lstat() وكذلك بطبيعة الحال فهو يعالج نتائج التابع Path.stat‎()، ولا يتم إنشاء كائنات منه، فجميع التوابع والثوابت يمكن الوصول إليها مباشرة من الصنف.


تنقسم التوابع إلى عدة أقسام حسب الوظيفة، وهي كما يلي:

توابع كشف نوع الملفات

التابع stat.S_ISDIR

للكشف عن كون النمط مشيرًا إلى مجلد.

التابع stat.S_ISCHR

للكشف عن كون النمط مشيرًا إلى ملف character special device.

التابع stat.S_ISBLK

للكشف عن كون النمط مشيرًا إلى ملف block special device.

التابع stat.S_ISREG

للكشف عن كون النمط مشيرًا إلى ملف نظامي.

التابع stat.S_ISFIFO

للكشف عن كون النمط مشيرًا إلى FIFO (أُنبوب مُسمّى) (named pipe).

التابع stat.S_ISLNK

للكشف عن كون النمط مشيرًا إلى اختصار.

التابع stat.S_ISSOCK

للكشف عن كون النمط مشيرًا إلى socket.

ميزة التوابع الكشف في الصنف stat

تجدر الإشارة إلى أن الطريقة النموذجية للكشف عن نوع ملف ما، هي باستخدام التوابع os.path.is*()، إلا أن توابع الكشف في الصنف stat تسمح بتوفير الموارد عند الحاجة إلى القيام بالعديد من الاختبارات، بدلًا من القيام باستدعاء نظام (system call) في كل اختبار. كما أنها مفيدة للكشف عن أنواع الملفات التي لا يتعامل معها الصنف os.path، كاختبارات block device و character device.

توابع مساعدة

التابع stat.S_IMODE

يستخرج من النمط (mode) القسم القابل للتعديل باستخدام التابع os.chmod.

التابع stat.S_IFMT

يستخرج من النمط (mode) القسم المعبر عن نوع الملف، وهو القسم الذي تتعامل معه التوابع IS_* المذكور سلفًا.