NahdaAIنهضة
Python • المستوى الثاني • الدرس 3

قراءة وكتابة الملفات (File Handling)

العودة لفهرس المستوى

أهداف الدرس العلمية

  • فتح الملفات بوضعيات مختلفة: القراءة 'r'، الكتابة 'w'، والإضافة 'a'.
  • استخدام سياق with open() لضمان إغلاق الملف تلقائياً بعد المعالجة.
  • التمييز بين طرق القراءة read() و readlines() والتكرار على الملف.
  • تحديد ترميز النصوص encoding="utf-8" لدعم اللغة العربية.

1. إدارة الملفات المباشرة

تتميز Python بالقدرة على التعامل السلس والمباشر مع ملفات النصوص، ملفات CSV، و JSON ببضعة أسطر برمجية أنيقة. الطريقة الآمنة هي استخدام سياق with الذي يُغلق الملف تلقائياً حتى لو حدث خطأ.

python
# ✅ الطريقة الآمنة (with)
with open("data.txt", "w", encoding="utf-8") as file:
    file.write("مرحباً")
# الملف أُغلق تلقائياً هنا

# ❌ الطريقة القديمة (تحتاج file.close())
file = open("data.txt", "w")
file.write("مرحباً")
file.close()  # ← يمكن نسيانها!

2. أوضاع فتح الملفات (File Modes)

📖 الوضع 'r' (Read)

قراءة فقط. يرفع خطأ FileNotFoundError إذا لم يوجد الملف.

✍️ الوضع 'w' (Write)

كتابة. يمسح المحتوى القديم وينشئ الملف إن لم يوجد.

➕ الوضع 'a' (Append)

إضافة في نهاية الملف بدون مسح المحتوى القديم.

🌐 "utf-8" Encoding

ضروري لدعم النصوص العربية، وإلا قد تظهر رموزاً غريبة.

التطبيق العملي المباشر

تحدي الدرس الثالث: إدارة ملفات متقدمة

قم بالتعديل على الكود بداخل المحرر أدناه لتطبيق المتطلبات التالية:

  1. أضف سطراً جديداً إلى الملف notes.txt باستخدام الوضع 'a' مع النص "\nسطر مضاف بوضع Append.".
  2. اقرأ الملف بمنهجية readlines() وقم بالتكرار على الأسطر باستخدام enumerate() لطباعة كل سطر مع رقمه.
  3. أنشئ قائمة skills = ["Python", "JavaScript", "SQL", "React"] واكتب كل مهارة في سطر مستقل بملف skills.txt باستخدام حلقة for.
  4. أعد قراءة skills.txt واطبع كل مهارة مع علامة ✓ في بداية السطر.
  5. اقرأ محتوى notes.txt وأحسب عدد الكلمات باستخدام split() و len() واطبعها.
⏳ جارٍ تحميل المحرر التفاعلي...