Theme
Primary Color

الدرس 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 فاضي العدد هيكون صفر

آخر تعديل للدرس: