تخزين أحرف عربية في الملف في بايثون

تخزين أحرف عربية في الملف 

إذا حاولت كتابة أحرف عربية في ملف و لم تحدد أن نوع الترميز المستخدم عند التعامل مع الملف هو utf-8 سيظهر أمامك الخطأ 'charmap' codec can't encode.
و إذا حاولت قراءة نص عربي موجود في ملف و لم تحدد نوع الترميز ستلاحظ أن النص يظهر بشكل غير مفهوم كالتالي السلام عليكم.


في المثال التالي قمنا بإنشاء ملف إسمه arabic.txt قمنا بتخزين نص عربي فيه و بعدها قمنا بقراءة النص الموجود فيه.

مثال

Test.py
# 'Test.py' سيتم إنشاؤه في نفس المشروع بجانب الملف 'arabic.txt' يشير لملف جديد إسمه opened_file هنا قمنا بإنشاء كائن إسمه
      # لنستطيع التعامل مع الأحرف العربية 'utf-8' حتى يتم إنشاء الملف و يكون لدينا القدرة على الكتابة و القراءة منه في نفس الوقت. كما أننا حددنا نوع الترميز هو 'w+' وضعنا الرمز
      opened_file = open('arabic.txt', 'w+', encoding='utf-8')

      # لكتابة نص جديد في الملف الذي يشير إليه و لاحظ أننا أدخلنا نص عربي  opened_file من الكائن write() هنا قمنا باستدعاء الدالة
      opened_file.write('السلام عليكم و رحمة الله و بركاته')

      # للعودة لأول الملف seek() هنا قمنا باستدعاء الدالة
      opened_file.seek(0,0)

      # الذي يشير للملف المفتوح حتى ترجع كل النص الموجود فيه, بعدها قمنا بطباعة النص الذي سترجعه opened_file من الكائن read() هنا قمنا باستدعاء الدالة
      print(opened_file.read())

      # لإغلاق الإتصال مع الملف المفتوح في الذاكرة opened_file من الكائن close() هنا قمنا باستدعاء الدالة
      opened_file.close()
    

بعد تشغيل الملف Test.py سيتم إنشاء الملف arabic.txt و تخزين النص العربي بداخله. أيضاً سيتم طباعة النص العربي الموجود في الأساس بداخل الملف كالتالي.

السلام عليكم و رحمة الله و بركاته
تعليقات