file.writelines() كتابة أسطر متعددة
آخر تحديث: 2026-09-22
file.writelines() كتابة أسطر متعددة
file.writelines(lines) يكتب تسلسل السلاسل النصية سطرًا تلو الآخر في الملف؛ ولا يضيف محرف سطر جديد تلقائيًا.
| التصنيف | دوال الملفات |
|---|---|
| النوع | دوال الأنواع المدمجة |
| إصدار بايثون | all |
📝 الصياغة
file.writelines()
⚙️ المعاملات
| lines مطلوب | A sequence of strings (list, tuple, ...); no newlines are added automatically. |
|---|
القيمة المُعادة:None. Writes each string in lines to the file.
يعدّل الكائن الأصلي:لا (يُعيد كائنًا جديدًا)
💥 الاستثناءات
TypeError— Raised when lines is not iterable or an element is not a string.OSError— Raised when the file is read-only, closed, or the write fails.
▶ مثال
عدّل الكود واضغط تشغيل لرؤية النتيجة في لوحة المخرجات:
المخرجات:
a
b
💡 حالات ذات صلة
المزيد من الحالات قادم قريباً — تابعونا.
❓ أسئلة شائعة
Qهل تضيف writelines() رموز أسطر جديدة تلقائيًا؟
Aلا! إنها تكتب السلاسل الموجودة في التسلسل كما هي. وللحصول على سطر واحد لكل عنصر يجب عليك إضافة '\n' بنفسك، مثل: f.writelines(line + '\n' for line in lines).
Qما الفرق عن write()؟
Aتستقبل writelines() تسلسلًا من السلاسل وتكتبها واحدة تلو الأخرى، بينما تستقبل write() سلسلة واحدة. ولا تُضيف أيٌّ منهما رموز أسطر جديدة تلقائيًا.
Qماذا يحدث إذا لم يكن العنصر سلسلة نصية؟
Aتُطلق TypeError، وتحتاج إلى تحويله إلى str أولاً.
Qما الصياغة الموصى بها لكتابة عدة أسطر؟
Af.writelines(line + '\n' for line in lines)، مع الانتباه إلى إضافة رمز السطر الجديد بنفسك.