الدرس 4
أول أتمتة بسيطة - حساب عدد الملفات
عندك مجلد بتجمع فيه ملفاتك وعاوز تعرف عدد الملفات الموجودة فيه بدل ما تعدها بإيدك
هنكتب سكربت يقرأ المجلد ويعرض العدد كل مرة تشغله
التطبيق ده مش محتاج بيئة افتراضية أو تنزيل مكتبات إضافية ومش هيعدل أو يحذف أي ملف
جهز مجلد التجربة
داخل مجلد python-automation اعمل مجلد اسمه input
وحط فيه ملفين نصيين باسم notes.txt و tasks.txt محتوى الملفات مش مهم لأننا هنعدها فقط
افتح المشروع في VS Code واعمل ملف file_report.py بجانب مجلد input مش جواه

1 - تحديد المجلد
ال pathlib أداة موجودة مع Python للتعامل مع المسارات
والمسار هو عنوان ملف أو مجلد هنستخدم منها Path لتحديد عنوان مجلد التجربة
from pathlib import Path
folder = Path("input")السطر الأول بيتيح استخدام Path والسطر الثاني بيحدد مجلد input داخل المكان اللي هنشغل منه الأمر
الكود مش بينشئ المجلد علشان كده جهزناه قبل ما نبدأ
2 - عد الملفات
ضيف الجزء التالي تحت السطرين السابقين
count = 0
for item in folder.iterdir():
if item.is_file():
count += 1- ال count = 0 بنبدأ العداد بصفر
- ال folder.iterdir() بيمر على العناصر الموجودة مباشرة داخل المجلد
- ال item هو العنصر الحالي أثناء التكرار
- ال item.is_file() بيتأكد إن العنصر ملف علشان منعدش المجلدات
- ال count += 1 بيزود العداد بواحد لكل ملف
3 - عرض النتيجة
بعد التكرار ضيف السطر التالي من غير مسافة بادئة علشان العدد يظهر مرة واحدة بعد انتهاء العد
print(f"Total Files: {count}")الكود كامل
from pathlib import Path
# Select the Test Folder
folder = Path("input")
count = 0
# Count Files Only
for item in folder.iterdir():
if item.is_file():
count += 1
# Display the Result
print(f"Total Files: {count}")شغل التطبيق
احفظ الملف وافتح Git Bash من داخل مجلد python-automation
أو من ال Terminal الموجود في برنامج Vs Code كما في الصورة التالية
وشغل الأمر التالي
python file_report.pyوممكن كمان تكتب py بدل python
Total Files: 2
لو ظهر خطأ إن input مش موجود تأكد إنك أنشأت المجلد
وإن Git Bash مفتوح من مجلد المشروع مش من داخل input
فين الأتمتة هنا؟
السكربت بيقرأ الموجود في المجلد ويحسبه بدل العد اليدوي
لو ضفت ملفات وشغلته تاني هيحسب العدد الجديد من غير ما تغير الكود
إحنا بنشغله بنفسنا حاليا ومفيش تشغيل مجدول
تدريب
ضيف ملف ideas.txt داخل input واعمل فيه كمان مجلد اسمه archive
وشغل السكربت تاني إيه العدد المتوقع؟
حل التدريب
العدد هيكون 3 لأن archive مجلد مش ملف
والشرط is_file() بيستبعده السكربت مش بيدخل داخل المجلدات الفرعية
ولو input فاضي العدد هيكون صفر
