من أهم ميزات بايثون هي القدرة على قراءة وكتابة الملفات بسهولة. سنتعرف في هذا الدرس على كيفية التعامل مع الملفات النصية.
أنواع العمليات الأساسية:
- فتح الملف
open() - قراءة من الملف
read(),readline(),readlines() - الكتابة في الملف
write(),writelines() - إغلاق الملف
close()
فتح ملف:
file = open("myfile.txt", "r") # الوضع 'r' تعني قراءة
أو باستخدام with الأفضل لأنها تُغلق الملف تلقائيًا:
with open("myfile.txt", "r") as file:
data = file.read()
print(data)
أوضاع فتح الملفات:
| الوضع | الوصف |
|---|---|
'r' |
قراءة فقط (الملف يجب أن يكون موجودًا) |
'w' |
كتابة فقط (ينشئ الملف أو يمسح محتواه إن وُجد) |
'a' |
الإلحاق بالمحتوى الموجود |
'x' |
إنشاء ملف جديد فقط، ويعطي خطأ إذا الملف موجود |
'r+' |
قراءة وكتابة |
قراءة ملف:
with open("myfile.txt", "r") as file:
content = file.read()
print(content)
أو:
with open("myfile.txt", "r") as file:
for line in file:
print(line.strip())
الكتابة إلى ملف:
with open("myfile.txt", "w") as file:
file.write("مرحبا بك في عالم بايثون!")
ملاحظة: هذا سيحذف أي محتوى موجود مسبقًا.
الإلحاق إلى ملف موجود:
with open("myfile.txt", "a") as file:
file.write("\nتمت إضافة هذا السطر.")
التحقق من وجود الملف:
import os
if os.path.exists("myfile.txt"):
print("الملف موجود")
else:
print("الملف غير موجود")
التمرين:
- أنشئ ملفًا نصيًا باسم
notes.txt. - اطلب من المستخدم إدخال ملاحظة (سطر نصي).
- أضف الملاحظة إلى نهاية الملف (دون حذف ما فيه).
- بعد ذلك، اقرأ محتوى الملف كاملًا واطبعه.
الحل:
# الخطوة 1 و 2: إدخال الملاحظة من المستخدم
note = input("أدخل ملاحظة تريد حفظها: ")
# الخطوة 3: فتح الملف في وضع الإلحاق وكتابة الملاحظة
with open("notes.txt", "a", encoding="utf-8") as file:
file.write(note + "\n")
# الخطوة 4: قراءة الملف وطباعته
print("\nمحتويات الملف notes.txt:")
with open("notes.txt", "r", encoding="utf-8") as file:
content = file.read()
print(content)
ملاحظات:
- استخدمنا
"a"للإلحاق بالملاحظات دون حذف السابق. - تأكد من ترميز
"utf-8"لدعم اللغة العربية. - يمكن تشغيل هذا الكود عدة مرات لإضافة ملاحظات جديدة.
التمرين السابق لكن بشكل معدل:
- اطلب من المستخدم ملاحظة.
- أضف التاريخ والوقت الحالي للملاحظة.
- احفظها في ملف
notes.txtدون حذف ما فيه. - اطبع محتوى الملف بعد الإضافة.
الحل:
from datetime import datetime
# إدخال الملاحظة
note = input("أدخل ملاحظة تريد حفظها: ")
# الحصول على التاريخ والوقت الحالي
timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
# تنسيق الملاحظة مع التاريخ
formatted_note = f"[{timestamp}] {note}\n"
# كتابة الملاحظة في الملف
with open("notes.txt", "a", encoding="utf-8") as file:
file.write(formatted_note)
# طباعة محتويات الملف
print("\nمحتويات الملف notes.txt:")
with open("notes.txt", "r", encoding="utf-8") as file:
content = file.read()
print(content)
مثال على الناتج في notes.txt:
[2025-05-17 15:22:10] مراجعة دروس بايثون.
[2025-05-17 15:30:45] كتابة تقرير المشروع النهائي.

