📚 استخدام دوال نموذج os للتنقل بين المجلدات
المفاهيم الأساسية
دالة `chdir()`: تُستخدم لتغيير المسار الحالي للعمل إلى مسار جديد.
دالة `getcwd()`: تُستخدم لعرض المسار الحالي للعمل.
دالة `listdir()`: ترجع قائمة تحتوي على أسماء الملفات والمجلدات داخل المجلد الحالي.
خريطة المفاهيم
```markmap
المكتبات والنماذج البرمجية في بايثون
مفهوم النموذج البرمجي
تعريف
- حزمة ملفات تحتوي مقاطع برمجية
- امتدادها .py
- يتم استيرادها لتنفيذ وظائف
مصادر النماذج
المكتبة القياسية (Standard library)
#### تعريف
- تُثبَّت تلقائياً مع بايثون
- جزء أساسي من اللغة
- تحتوي على أكثر من 200 نموذج برمجي
#### خصائصها
- واسعة وغنية
- تحتوي على نماذج مكتوبة بلغة C للوصول لوظائف النظام
- تقدم حلولاً قياسية للعديد من المشكلات البرمجية
#### طرق الاستيراد
##### 1. استيراد الكل
- الأمر: `from module_name import *`
- المميزات
- توفير وقت الكتابة
- مفيد عند استخدام الكثير من الدوال
- مفيد عند نسيان النموذج البرمجي للدالة
- زيادة حجم البرنامج النهائي دون سبب
- زيادة أعباء الصيانة والأمن
##### 2. استيراد دوال من نموذج برمجي
- الأمر: `from module_name import function_a, function_b, function_c`
- الاستدعاء: `function_a()`
##### 3. استيراد النماذج البرمجية
- الأمر: `import module_name`
- الاستدعاء: `module_name.function_name()`
##### أمثلة على نماذجها
###### datetime
- datetime.date.today()
- datetime.time()
###### queue
- queue.put()
- queue.full()
- queue.empty()
###### math
- math.pi()
- math.sin()
- math.log()
- math.pow()
###### sys
- الهدف: معرفة معلومات عن النظام ومشغل بايثون
- طريقة الاستيراد: `import sys`
- أمثلة على استخدامه:
- `sys.version`: يعرض نسخة بايثون المستخدمة
- `sys.path`: يعرض مسار تخزين جميع النماذج القياسية
- `sys.platform`: دالة جديدة تعرض نظام التشغيل المستخدم (مثال: 'win32')
###### os
- الهدف: التفاعل مع نظام التشغيل تلقائياً
- طريقة الاستيراد: `import os`
- أمثلة على استخدامه:
- `os.getcwd()`:
دالة جديدة تعرض مسار المجلد الحالي للعمل (المجلد الذي يحفظ فيه ملف المقطع البرمجي)
- إنشاء مجلد وإزالته
- جلب محتويات مجلد
- تغيير المسار الحالي أو تحديده
- استخدام `chdir()` للتنقل
- تغيير المسار إلى مجلد جديد: `os.chdir("مسار_جديد")`
- العودة للمسار الأصلي: `os.chdir("..\\")`
- استخدام `listdir()` لعرض المحتويات
- عرض أسماء الملفات والمجلدات: `os.listdir()`
مكتبات مجتمع المطورين
#### المكتبات الإضافية
- يمكن تنزيلها وتثبيتها بسهولة
- تأتي بأدوات تثبيت خاصة
- تتصرف مثل المكتبة القياسية بعد التثبيت
أمثلة على النماذج القياسية
tkinter module
Platform module
turtle module
openpyxl module
أهمية النماذج البرمجية
إعادة استخدام المقطع البرمجي
تنظيم المشروعات وتقسيمها
العلاقة الهرمية
المكتبة القياسية
#### تحتوي على
النماذج البرمجية
#### تحتوي على
الدوال
معلومة
بعض النماذج متوفرة في جميع الإصدارات
بعضها يتطلب دعم النظام أو تثبيت
مكتبات بايثون الخارجية
- مكتبات إضافية غير مثبتة في بايثون
- تحتاج إلى استيرادها للبرنامج
```
نقاط مهمة
- يتم استخدام `os.chdir()` لتغيير المسار الحالي قبل العمل في مجلد جديد، ثم العودة للمسار الأصلي.
- تُستخدم `os.getcwd()` لطباعة المسار الحالي للتأكد من التغيير.
- بعد الوصول للمسار المطلوب، يمكن استخدام `os.listdir()` للحصول على قائمة بمحتوياته (أسماء الملفات والمجلدات).