الفرق بين المراجعتين لصفحة: «Python/stat»
إنشاء مبدئي |
لا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
يُعرّف الصنف <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>، ولا يتم إنشاء كائنات منه، فجميع التوابع والثوابت يمكن الوصول إليها مباشرة من الصنف. | |||
تنقسم التوابع إلى عدة أقسام حسب الوظيفة، وهي كما يلي: | |||
== توابع كشف نوع الملفات == | |||
===التابع <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_*
المذكور سلفًا.