file.close() إغلاق الملف
آخر تحديث: 2026-09-22
file.close() إغلاق الملف
file.close() يغلق الملف ويحرر موارد النظام؛ بعد الإغلاق لا يمكن القراءة أو الكتابة، وعبارة with تستدعيه تلقائيًا.
| التصنيف | دوال الملفات |
|---|---|
| النوع | دوال الأنواع المدمجة |
| إصدار بايثون | all |
📝 الصياغة
file.close()
القيمة المُعادة:None. Closes the file and releases system resources.
يعدّل الكائن الأصلي:لا (يُعيد كائنًا جديدًا)
💥 الاستثناءات
OSError— Raised on I/O errors, e.g. when flushing buffered data fails.
▶ مثال
عدّل الكود واضغط تشغيل لرؤية النتيجة في لوحة المخرجات:
المخرجات:
True
💡 حالات ذات صلة
المزيد من الحالات قادم قريباً — تابعونا.
❓ أسئلة شائعة
Qهل يمكن قراءة الملف أو الكتابة إليه بعد إغلاقه؟
Aلا. القيام بذلك يطلق خطأ ValueError: I/O operation on closed file.
Qماذا يحدث عند استدعاء close() بشكل متكرر؟
Aلا يحدث أي خطأ؛ المكالمة الثانية وما بعدها لا تُنفّذ شيئًا (close() دالة idempotent).
Qهل يجب استدعاء close() يدويًا؟
Aيُفضَّل استخدام عبارة `with open(...) as f:` التي تُغلق تلقائيًا عند الخروج من الكتلة وتضمن الإغلاق حتى عند حدوث استثناء. نسيان الإغلاق قد يُسبِّب فقدان البيانات أو استنفاد مقابض الملفات (file handles).
Qما هي عواقب عدم استدعاء close()؟
Aقد لا يُنقل مخزن الكتابة إلى القرص، وقد يحدث تسرُّب لمقابض الملفات (فتح عدد كبير جدًا من الملفات يُصدر خطأ "Too many open files").