تخطَّ إلى المحتوى

13. الملفات

أن تكتب ملفاً وتقرأ سطوره.

  • بعد استورد ملفات تكتب ملفات.اكتب_ملف(مسار, نص) النص في الملف: تنشئه إن لم يكن موجوداً، وتستبدل محتواه كله إن كان موجوداً، ولا تضيف سطراً جديداً في آخره.
  • وملفات.اقرأ_سطور(مسار) ترجع قائمة بسطور الملف.
  • دوال ملفات قد تفشل (الملف غير موجود، أو لا إذن)، فاكتب قبلها جرّب.
  • الوحدة ملفات تجريبية.
مثال
استورد ملفات
جرّب ملفات.اكتب_ملف("قائمة.txt", "خبز\nحليب\n")
لكل غرض في جرّب ملفات.اقرأ_سطور("قائمة.txt"):
اطبع("- ", غرض)
المخرج المسجَّل في الكتاب المرجعيmeem برنامج.م · 0.10.0
- خبز- حليب

نسيان جرّب أو والا مع دالة قد تفشل: هذا خطأ ترجمة، ورسالته تقول ما تكتب. وانتبه: جرّب في المستوى الأعلى من الملف تنهي البرنامج برمز الخروج 3 إن فشلت الدالة.

يسبب الخطأ
استورد ملفات
ملفات.اكتب_ملف("ناتج.txt", "سطر\n")
المخرج المسجَّل في الكتاب المرجعيmeem برنامج.م · 0.10.0
​[خطأ دلالي E0397] مثال.م:2:7 - نتيجة 'ملفات.اكتب_ملف(...)' من النوع '!فراغ' مهملة: قد يكون خطأً لم يُعالَج   2 | ملفات.اكتب_ملف("ناتج.txt", "سطر\n")     |       ^~~~~~~~~~~~~~  تلميح: عالج الخطأ في موضعه:  جرّب ملفات.اكتب_ملف(...)  (يمرّر الخطأ إلى مستدعي الدالة)   أو   ملفات.اكتب_ملف(...) والا خ:  ثم كتلة   أو   ملفات.اكتب_ملف(...) والا خ:  ثم كتلة تعالج «خ»

رمز الخروج: 2

في فهرس الأخطاء: E0397

يصلحه
استورد ملفات
ملفات.اكتب_ملف("ناتج.txt", "سطر\n") والا خ:
اطبع("تعذّرت الكتابة: ", خ)
جرّب ملفات.الحق_بملف("ناتج.txt", "سطر ثانٍ\n")
اطبع(جرّب ملفات.اقرأ_ملف("ناتج.txt"))
المخرج المسجَّل في الكتاب المرجعيmeem برنامج.م · 0.10.0
سطرسطر ثانٍ​

اكتب ثلاث مهام في ملف «مهام.txt» سطراً لكل مهمة، ثم اقرأها واطبع عددها وأطولها.

اعرض الحل
الحل
استورد ملفات
جرّب ملفات.اكتب_ملف("مهام.txt", "اشترِ خبزاً\nراجع الدرس الثاني عشر\nاتصل بجدتي\n")
سطور = جرّب ملفات.اقرأ_سطور("مهام.txt")
اطبع("عدد المهام: ", طول(سطور))
اطول = ""
لكل س في سطور:
اذا طول(س) > طول(اطول):
اطول = س
اطبع("أطولها: ", اطول)
مخرجات مسجّلة من المجمّعmeem 12_حل.م · meem 0.10.0+b01b55f
عدد المهام: 3أطولها: راجع الدرس الثاني عشر

الوحدة ملفات · معالجة الأخطاء