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
ضروري لدعم النصوص العربية، وإلا قد تظهر رموزاً غريبة.
التطبيق العملي المباشر
تحدي الدرس الثالث: إدارة ملفات متقدمة
قم بالتعديل على الكود بداخل المحرر أدناه لتطبيق المتطلبات التالية:
- أضف سطراً جديداً إلى الملف
notes.txtباستخدام الوضع'a'مع النص"\nسطر مضاف بوضع Append.". - اقرأ الملف بمنهجية
readlines()وقم بالتكرار على الأسطر باستخدامenumerate()لطباعة كل سطر مع رقمه. - أنشئ قائمة
skills = ["Python", "JavaScript", "SQL", "React"]واكتب كل مهارة في سطر مستقل بملفskills.txtباستخدام حلقةfor. - أعد قراءة
skills.txtواطبع كل مهارة مع علامة ✓ في بداية السطر. - اقرأ محتوى
notes.txtوأحسب عدد الكلمات باستخدامsplit()وlen()واطبعها.
⏳ جارٍ تحميل المحرر التفاعلي...