الوحدة ملفات
منقول من الكتاب المرجعي: docs/handbook/stdlib/ملفات.md · الإيداع 7a52f6c
مولَّدة من تعليقات الشرح في stdlib/ملفات.م (meem --list-module ملفات --json). تُستورد بـاستورد ملفات
وتُستدعى دوالها ملفات.دالة(...). الشرح الأطول وأمثلته في stdlib.md (وثيقة في مستودع المجمّع).
اقرأ_ملف
رابط إلى قسم «اقرأ_ملف»التوقيع: اقرأ_ملف(مسار نص, م مخصص) ← !نص
محتوى الملف كله نصاً. يفشل بـ: غير_موجود، ممنوع، ليس_ملفا (مجلد)، كبير_جدا (أكبر من 1 غ.ب)، ليس_نصا (بايتات ليست UTF-8، أو بايت صفري)، لا_ذاكرة، فشل_النظام. نهايات الأسطر تبقى كما هي في الملف. النص من المخصص م إن مُرّر، وإلا من الافتراضي؛ يملكه المستدعي ويحرره بـ حرر(النص[, م]). استعمال: نص_الملف = جرّب اقرأ_ملف(“بيانات.txt”) أو اقرأ_ملف(“بيانات.txt”) والا “”
المخصص الأخير اختياري: إن تُرك فالافتراضي.
استورد ملفاتجرّب ملفات.اكتب_ملف("ملاحظة.txt", "سطر اول\nسطر ثان\n")ن = جرّب ملفات.اقرأ_ملف("ملاحظة.txt")اطبع(طول(ن), " حرفاً")غائب = ملفات.اقرأ_ملف("غائب.txt") والا خ: اطبع("تعذّرت القراءة: ", خ) ""اكتب_ملف
رابط إلى قسم «اكتب_ملف»التوقيع: اكتب_ملف(مسار نص, محتوى نص) ← !فراغ
يكتب النص في الملف: ينشئه إن لم يوجد، ويستبدل محتواه كله إن وُجد. يفشل بـ: غير_موجود (مجلد ناقص في المسار)، ممنوع، ليس_ملفا، فشل_النظام. لا يضيف سطراً جديداً في الآخر. استعمال: جرّب اكتب_ملف(“ناتج.txt”, “السطر الأول\n”)
استورد ملفاتجرّب ملفات.اكتب_ملف("ناتج.txt", "مرحبا\n")جرّب ملفات.اكتب_ملف("ناتج.txt", "بديل")اطبع(جرّب ملفات.اقرأ_ملف("ناتج.txt"))ملفات.اكتب_ملف("لا_مجلد/ناتج.txt", "س") والا خ: اطبع("تعذّرت الكتابة: ", خ)الحق_بملف
رابط إلى قسم «الحق_بملف»التوقيع: الحق_بملف(مسار نص, محتوى نص) ← !فراغ
يلحق النص بآخر الملف، وينشئه إن لم يوجد. أخطاؤه كـ اكتب_ملف. استعمال: جرّب الحق_بملف(“سجل.txt”, “حدث جديد\n”)
استورد ملفاتجرّب ملفات.الحق_بملف("سجل.txt", "حدث اول\n")جرّب ملفات.الحق_بملف("سجل.txt", "حدث ثان\n")اطبع(جرّب ملفات.اقرأ_ملف("سجل.txt"))يوجد_ملف
رابط إلى قسم «يوجد_ملف»التوقيع: يوجد_ملف(مسار نص) ← منطقي
هل في المسار ملف يُفتح للقراءة؟ خطاء لما لا وجود له، وللمجلد، ولما لا صلاحية لقراءته. لا تفشل.
استورد ملفاتاطبع(ملفات.يوجد_ملف("/مسار/لا/وجود/له"))استورد ملفاتجرّب ملفات.اكتب_ملف("هنا.txt", "")اطبع(ملفات.يوجد_ملف("هنا.txt"), " ", ملفات.يوجد_ملف("غائب.txt"), " ", ملفات.يوجد_ملف("."))اقرأ_سطور
رابط إلى قسم «اقرأ_سطور»التوقيع: اقرأ_سطور(مسار نص, م مخصص) ← !قائمة[نص]
سطور الملف: محتواه مقسوماً عند كل \n، بلا علامة النهاية نفسها. سطر أخير بلا نهاية سطر يُعدّ سطراً؛ والملف الفارغ قائمة فارغة. نهاية السطر \r\n (ويندوز) تُزال كلها: لا يبقى \r في آخر سطر (منذ 0.8.0). أخطاؤه كـ اقرأ_ملف. القائمة ونصوصها من المخصص م إن مُرّر، وإلا من الافتراضي. استعمال: لكل سطر في جرّب اقرأ_سطور(“بيانات.txt”):
المخصص الأخير اختياري: إن تُرك فالافتراضي.
استورد ملفاتجرّب ملفات.اكتب_ملف("قائمة.txt", "خبز\nحليب\nتمر")لكل سطر في جرّب ملفات.اقرأ_سطور("قائمة.txt"): اطبع("- ", سطر)سرد_مجلد
رابط إلى قسم «سرد_مجلد»التوقيع: سرد_مجلد(مسار نص, م مخصص) ← !قائمة[نص]
أسماء ما في المجلد (ملفات ومجلدات) مرتّبة بترتيب نقاط الترميز، بلا “.” و”..“. يفشل بـ: غير_موجود، ممنوع، ليس_مجلدا، فشل_النظام. القائمة ونصوصها من المخصص م إن مُرّر، وإلا من الافتراضي. استعمال: لكل اسم في جرّب سرد_مجلد(”.“):
المخصص الأخير اختياري: إن تُرك فالافتراضي.
استورد ملفاتجرّب ملفات.انشئ_مجلد("صور")جرّب ملفات.اكتب_ملف("صور/ب.png", "")جرّب ملفات.اكتب_ملف("صور/ا.png", "")اطبع(جرّب ملفات.سرد_مجلد("صور"))س = ملفات.سرد_مجلد("صور/ا.png") والا خ: اطبع("ليس مجلداً: ", خ) [""]انشئ_مجلد
رابط إلى قسم «انشئ_مجلد»التوقيع: انشئ_مجلد(مسار نص) ← !فراغ
ينشئ مجلداً (لا ينشئ ما فوقه). يفشل بـ: موجود، غير_موجود (ما فوقه)، ممنوع، ليس_مجلدا، فشل_النظام. استعمال: جرّب انشئ_مجلد(“ناتج”)
استورد ملفاتجرّب ملفات.انشئ_مجلد("ناتج")ملفات.انشئ_مجلد("ناتج") والا خ: اطبع("مرة ثانية: ", خ)ملفات.انشئ_مجلد("لا/فرعي") والا خ: اطبع("بلا الأب: ", خ)احذف_ملف
رابط إلى قسم «احذف_ملف»التوقيع: احذف_ملف(مسار نص) ← !فراغ
يحذف ملفاً (لا مجلداً). يفشل بـ: غير_موجود، ممنوع، ليس_ملفا (مجلد)، فشل_النظام. استعمال: جرّب احذف_ملف(“مؤقت.txt”)
استورد ملفاتجرّب ملفات.اكتب_ملف("مؤقت.txt", "س")جرّب ملفات.احذف_ملف("مؤقت.txt")اطبع(ملفات.يوجد_ملف("مؤقت.txt"))ملفات.احذف_ملف("مؤقت.txt") والا خ: اطبع("مرة ثانية: ", خ)