الدرس الحادي عشر: التعامل مع الملفات (Files) في بايثون — قراءة وكتابة البيانات خطوة بخطوة
التعامل مع الملفات (Files) في بايثون — قراءة وكتابة البيانات خطوة بخطوة
في هذا الدرس سنتعلم كيف نتعامل مع الملفات في لغة بايثون، وكيف نقرأ البيانات من ملف، وكيف نكتب بيانات جديدة، وكيف نضيف معلومات دون حذف المحتوى القديم، مع أمثلة عملية وتمارين وحلول واختبار تفاعلي للمبتدئين والمتوسطين.
مقدمة الدرس
في الدروس السابقة كنا نخزن البيانات داخل المتغيرات أو القوائم أو القواميس. لكن هذه البيانات كانت تبقى داخل البرنامج فقط، وبمجرد إغلاقه تختفي. هنا تظهر أهمية الملفات.
الملفات تسمح لنا بحفظ البيانات على الجهاز حتى نستطيع الرجوع إليها لاحقًا. وهذا مهم جدًا في البرامج الحقيقية مثل:
- تخزين أسماء المستخدمين
- حفظ النتائج أو الدرجات
- تسجيل الملاحظات
- إدارة بيانات بسيطة بدون قاعدة بيانات
ما هو الملف في البرمجة؟
الملف هو مكان على القرص الصلب أو في مساحة التخزين نحفظ فيه البيانات. قد يكون ملفًا نصيًا مثل notes.txt أو ملف CSV أو ملفًا آخر.
في هذا الدرس سنركز على الملفات النصية لأنها الأسهل للمبتدئين.
أمثلة على الملفات
- students.txt لحفظ أسماء التلاميذ
- notes.txt لحفظ الملاحظات
- data.txt لحفظ بيانات عامة
فتح ملف في بايثون
لفتح ملف في بايثون نستخدم الدالة open().
في هذا المثال:
- data.txt هو اسم الملف
- r هو وضع القراءة
أوضاع فتح الملفات
| الوضع | المعنى |
|---|---|
| r | قراءة الملف |
| w | الكتابة في الملف مع حذف المحتوى القديم |
| a | إضافة بيانات جديدة في نهاية الملف |
| x | إنشاء ملف جديد فقط |
قراءة ملف كامل
إذا كان لدينا ملف اسمه students.txt ومحتواه كالتالي:
يمكننا قراءة محتواه كاملًا بهذه الطريقة:
قراءة الملف سطرًا سطرًا
في بعض الحالات نريد قراءة الملف بشكل تدريجي، خاصة إذا كان يحتوي على عدد كبير من الأسطر.
هذه الطريقة مفيدة جدًا لأننا نتعامل مع كل سطر على حدة، ويمكننا معالجته أو تنظيفه أو عرضه بطريقة أفضل.
كتابة ملف جديد
إذا أردنا إنشاء ملف جديد وكتابة بيانات بداخله نستخدم الوضع w.
مثال آخر
إضافة بيانات إلى ملف
إذا أردنا الاحتفاظ بالمحتوى القديم وإضافة بيانات جديدة نستخدم الوضع a.
هنا لم نحذف المحتوى السابق، بل أضفنا سطرًا جديدًا في نهاية الملف.
الطريقة الاحترافية: with open
بدل أن نفتح الملف ثم نغلقه يدويًا، من الأفضل استخدام with open. هذه الطريقة أكثر أمانًا وتنظم الكود بشكل أفضل.
الميزة هنا أن الملف يُغلق تلقائيًا بعد انتهاء الكود.
أمثلة عملية متنوعة
المثال الأول: حفظ اسم جديد في ملف
المثال الثاني: عرض جميع الأسماء من الملف
المثال الثالث: كتابة تقرير جديد
المثال الرابع: قراءة أول سطر فقط
أخطاء شائعة عند التعامل مع الملفات
1) نسيان إغلاق الملف
هذا الكود يعمل، لكن الأفضل أن نستخدم with open.
2) محاولة قراءة ملف غير موجود
إذا حاولت قراءة ملف غير موجود سيظهر الخطأ:
الحل باستخدام try / except
متى نستخدم الملفات؟
- عندما نريد حفظ البيانات بعد إغلاق البرنامج
- عندما نبني برنامج ملاحظات أو دفتر أسماء
- عندما نسجل العمليات أو الأنشطة
- عندما نحفظ نتائج الطلاب أو درجاتهم
تمارين تطبيقية مع الحلول
التمرين الأول
أنشئ ملفًا باسم names.txt ثم اكتب بداخله 3 أسماء.
التمرين الثاني
اكتب برنامجًا يقرأ محتوى ملف names.txt ويطبعه على الشاشة.
التمرين الثالث
اكتب برنامجًا يطلب من المستخدم اسمًا جديدًا ثم يضيفه إلى الملف.
التمرين الرابع
حاول قراءة ملف غير موجود ثم تعامل مع الخطأ بطريقة آمنة.
اختبار تفاعلي
1) أي وضع نستخدمه لقراءة الملف؟
2) أي وضع نستخدمه لإضافة بيانات دون حذف القديم؟
3) ما هي الطريقة الأكثر أمانًا لفتح الملفات؟
خلاصة الدرس
في هذا الدرس تعلمنا:
- ما هو الملف في البرمجة
- كيفية فتح ملف في بايثون
- الفرق بين أوضاع القراءة والكتابة والإضافة
- كيفية قراءة الملفات وكتابة البيانات بداخلها
- الطريقة الاحترافية باستخدام with open
- كيفية التعامل مع بعض الأخطاء الشائعة
تعليقات
إرسال تعليق
نرحب بتعليقاتكم البناءة، ونسعى لردود تفاعلية ومفيدة للجميع.