Python/stat

من موسوعة حسوب

يُعرّف الصنف 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_* المذكور سلفًا.