البرمجة بلغة بايثون: التعامل مع الملفات
التعامل مع الملفات في بايثون يسمح بقراءة البيانات من الملفات النصية والكتابة إليها، وهو أمر أساسي لتطبيقات معالجة البيانات وتخزين المعلومات.
فتح الملف
تستخدم الدالة open() لفتح ملف. تأخذ هذه الدالة اسم الملف ووضعية الفتح:
# وضعيات فتح الملف
# "r" - قراءة (وضعية افتراضية)
# "w" - كتابة (يحذف المحتوى السابق)
# "a" - إضافة (يكتب في نهاية الملف)
# "r+" - قراءة وكتابة
# "b" - وضع ثنائي (مثل "rb" أو "wb")
file = open("data.txt", "r", encoding="utf-8")
# العمل مع الملف
file.close()
أفضل طريقة لفتح الملف (with)
استخدام السياق with يضمن إغلاق الملف تلقائياً حتى في حالة حدوث خطأ:
with open("data.txt", "r", encoding="utf-8") as file:
content = file.read()
print(content)
# الملف يغلق تلقائياً هنا
قراءة الملف
# قراءة الملف كاملاً
with open("data.txt", "r", encoding="utf-8") as f:
content = f.read()
# قراءة سطر بسطر
with open("data.txt", "r", encoding="utf-8") as f:
for line in f:
print(line.strip()) # strip() يزيل المسافات الزائدة
# قراءة جميع الأسطر في قائمة
with open("data.txt", "r", encoding="utf-8") as f:
lines = f.readlines()
الكتابة إلى الملف
# كتابة نص إلى ملف
with open("output.txt", "w", encoding="utf-8") as f:
f.write("مرحباً بالعالم!n")
f.write("هذا سطر ثان.n")
# إضافة إلى نهاية ملف
with open("output.txt", "a", encoding="utf-8") as f:
f.write("هذا سطر مضاف.n")
# كتابة قائمة من الأسطر
lines = ["سطر 1n", "سطر 2n", "سطر 3n"]
with open("output.txt", "w", encoding="utf-8") as f:
f.writelines(lines)
تمارين
- أكتب برنامجاً يقرأ ملفاً نصياً ويطبع عدد الكلمات فيه.
- أكتب برنامجاً يأخذ اسم مستخدم وكلمة مرور ويخزنهما في ملف، ثم يتحقق منهما عند تسجيل الدخول.
- أنشئ ملفاً يحتوي على 10 أعداد صحيحة، ثم اقرأها واحسب مجموعها ومتوسطها.
- ما الفرق بين الوضعيتين “w” و “a” عند كتابة ملف؟ أعط مثالاً على استخدام كل منهما.
للمزيد من المعلومات، راجع درس البرمجة بلغة بايثون: التعامل مع الأخطاء ودرس البرمجة بلغة بايثون: السلاسل النصية.
📍 دروس مشابهة
- الإعلام الآلي — البرمجة بلغة بايثون: المجموعات (Sets) — السنة الثانية ثانوي — المنهاج الجزائري
- الإعلام الآلي — البرمجة بلغة بايثون: المجموعات (Tuples) — السنة الثانية ثانوي — المنهاج الجزائري
مدونة التربية و التعليم في الجزائر – دروس، فروض، نتائج امتحانات مدونة التربية والتعليم في الجزائر | تحضير الدروس، فروض واختبارات، نتائج البكالوريا وBEM، مسابقات التوظيف، والتوجيه المدرسي للطلاب وأولياء الأمور.