📘 مقدمة:
في بايثون، يمكنك قراءة وكتابة الملفات بسهولة باستخدام الدالة المدمجة open()، سواء كانت ملفات نصية أو أنواع أخرى.
📂 فتح الملفات – open():
file = open("example.txt", "r") # الوضع "r" يعني القراءة
أو باستخدام أسلوب أكثر أمانًا:
with open("example.txt", "r") as file:
content = file.read()
print(content)
✍️ أوضاع فتح الملفات:
| الوضع | الوظيفة |
|---|---|
"r" |
قراءة فقط |
"w" |
كتابة (يمسح المحتوى السابق) |
"a" |
إضافة في نهاية الملف |
"x" |
إنشاء ملف جديد فقط |
"b" |
وضع ثنائي (binary) للملفات مثل الصور |
📖 قراءة الملفات:
with open("example.txt", "r") as file:
print(file.read()) # قراءة كل الملف
# أو
print(file.readline()) # قراءة أول سطر
print(file.readlines()) # قراءة كل الأسطر في قائمة
📝 كتابة الملفات:
with open("example.txt", "w") as file:
file.write("مرحبًا بك في Python!\n")
file.write("هذا هو السطر الثاني.")
➕ إضافة محتوى:
with open("example.txt", "a") as file:
file.write("\nسطر مضاف.")
🛑 ملاحظات هامة:
- الملف يجب أن يكون في نفس المجلد الذي تعمل منه، أو تحدد المسار الكامل.
withتغلق الملف تلقائيًا بعد الانتهاء، وهذا هو الأسلوب الموصى به.- استخدام
"w"يعيد كتابة الملف من البداية (احذر!).
✅ متى تستخدم القراءة والكتابة؟
- قراءة البيانات من ملف تكوين (config).
- حفظ نتائج برنامج في ملف.
- حفظ بيانات المستخدم أو السجلات.
🧪 تمرين: حفظ وقراءة قائمة مهام (To-Do List)
✍️ المطلوب:
- أنشئ برنامجًا يسمح للمستخدم بإدخال 3 مهام يومية.
- خزّن هذه المهام في ملف نصي اسمه
todo.txt. - بعد إدخال المهام، قم بقراءة وعرض محتوى الملف على الشاشة.
✅ الحل المقترح:
# المرحلة 1: إدخال المهام وتخزينها
with open("todo.txt", "w") as file:
for i in range(3):
task = input(f"أدخل المهمة رقم {i+1}: ")
file.write(task + "\n")
# المرحلة 2: قراءة المهام من الملف وعرضها
print("\n📋 قائمة المهام المدخلة:")
with open("todo.txt", "r") as file:
tasks = file.readlines()
for task in tasks:
print(f"- {task.strip()}")
🧠 ملاحظات:
input()تُستخدم لأخذ إدخال من المستخدم.file.write()تُستخدم لتخزين كل مهمة مع سطر جديد.strip()تُستخدم لإزالة نهاية السطر عند الطباعة.

