الملفات
note.txt اسم على الجهاز. حروفها تبقى بعد أن ينتهي البرنامج. open هو طريق هذا البرنامج إلى ذلك الاسم. البرنامج الأول يضع سطرًا قصيرًا في الملف، والثاني يقرأ السطر نفسه. close في هذه الصفحة تكتبه أنت. إغلاق الملف حتى لو توقف سطر قبل close هو عمل الصفحة التالية.
note = open("note.txt", "w", encoding="utf-8")
note.write("tea\n")
note.close()
لا يظهر شيء على الشاشة، لأن هذا البرنامج لا يطبع. write يضع حروف tea في note.txt، و\n يختم السطر. إذا لم يكن هذا الاسم على الجهاز، فالوضع w ينشئ الملف. إذا كانت فيه حروف أخرى من قبل، فإن w يمحوها. بعد هذه الكتابة لا يبقى في الملف إلا tea وفاصل السطر. الحفظ يتم مع close. قبل close لا تحسب السطر محفوظًا. encoding="utf-8" يعني أن الحروف تُخزَّن نصًا.
📊 طريقتان للفتح
| الوضع | ماذا يفعل هذا open |
|---|---|
| w | ينشئ note.txt إن لم يكن موجودًا، ويمحو ما كان بداخله |
| r | يقرأ note.txt؛ إن غاب الملف يتوقف البرنامج بـ FileNotFoundError |
note = open("note.txt", "r", encoding="utf-8")
text = note.read()
note.close()
print(text)
يبدأ هذا البرنامج من جديد ولا يكتب شيئًا. لا بد أن تكون tea موجودة سلفًا في note.txt، كما تركها البرنامج الأول. read() يردّ كل الحروف نصًا واحدًا، وفاصل السطر جزء من ذلك النص. print يُظهر tea ثم سطرًا فارغًا. النص ينتهي أصلًا بفاصل سطر، و print يضيف فاصلًا آخر. ثم يأتي close مرة أخرى لتنتهي القراءة. encoding="utf-8" موجود هنا أيضًا كي تعود الحروف نصًا.
إذا لم يكن note.txt على الجهاز وفتحته بـ r، يتوقف البرنامج. اسم هذا التوقف FileNotFoundError. هذه الأسطر ليست في برامج هذه الصفحة. w كان سينشئ الملف بدل أن يتوقف. Python لا يخترع نصًا فارغًا ليواصل.
close في هذه الصفحة سطر تكتبه أنت حين تنتهي. الصفحة التالية تستعمل with حتى يُغلق الملف إذا توقف سطر قبل close. with ليس في هذه البرامج.
ماذا بقي في الملف
الشاشة الأولى فارغة، وبعد close يحمل الملف tea. الوضع w يمحو الحروف القديمة. الشاشة الثانية تُظهر tea ثم سطرًا فارغًا. فتح ملف غير موجود بـ r يوقف البرنامج. الصفحة التالية تغلق الملف حتى لو توقف سطر.
🧠 اختبر معرفتك
اختبر معرفتك
تحدى نفسك مع هذا الاختبار التفاعلي واكتشف مدى فهمك للموضوع
📝 التعليمات
- اقرأ كل سؤال بعناية
- اختر أفضل إجابة لكل سؤال
- يمكنك إعادة الاختبار عدة مرات كما تريد
- سيتم عرض تقدمك في الأعلى