أكواد بايثون: التعامل مع الملفات النصية في بايثون (قراءة – كتابة – إضافة)

في هذا المقال سنشرح كيف يمكن التعامل مع الملفات النصية في بايثون وإجراء عمليات اساسية على الملف مثل فتح الملف، قراءة الملف, إنشاء الملف, الكتابة إلى الملف. كما سنزودكم بالأكواد البرمجية في بايثون للقيام بهذه العمليات.

فتح ملف نصي في بايثون

لكي تقوم بفتح ملف نصي في بايثون، فأنك تحتاج إلى توابع مضمنة في بايثون. أحد أهم هذه التوابع هو التابع open, هذا التابع يقوم بتزويدك بكائن يدعى file object يحوي على الطرائق والخصائص اللازمة لإجراء عمليات مختلفة على الملفات في بايثون.

تستطيع فتح ملف نصي في بايثون عبر التعليمة التالية:

file_object  = open("filename", "mode")

كما نلاحظ يوجد بارامترين أساسيين لهذا التابع, وهما كمايلي:

  • اسم الملف filename نقوم هنا بوضع المسار الكامل للملف الذي نرغب بقرائته في بايثون.
  • نمط التعامل مع الملف mode وهنا نحدد الطريقة التي سنريد التعامل بها مع الملف مثل القراءة, الكتابة, الإرفاق إلى نهاية الملف في حال كان الملف موجود, إو إنشاء الملف في حال كان غير موجود, او اذا كان الملف موجود حذف محتوياته والكتابة عليه من جديد.

إنشاء ملف نصي في بايثون

يمكن استخدام تعليمة open في بايثون لإنشاء ملف كمايلي:

f= open("shamra.txt","w+")

قمنا بالتصريح عن متحول f وقمنا بفتح ملف نصي يدعى shamra.txt حيث يشكل هذا الاسم الملف الذي سنقوم بالكتابة عليه, انتبه هنا أنه يجب ان يكون لديك صلاحية لانشاء الملفات في المكان الذي تنفذ فيه سكربت البايثون, ايضا تذكر انك تستطيع كتابة المسار الكامل من اسم الملف لكي تقوم بإنشاء ملف نصي في مكان يختلف عن المكان الذي تنفذ فيه كود بايثون, على سبيل المثال تستطيع كتابة بدال اسم الملف, الاسم مع المسار كما في: /home/shamra/training/python/writing/shamra.txt

اخترنا ايضا ان يكون نمط التعامل مع الملف هو w+ حيث حرف w يخبر بايثون اننا نريد الكتابة إلى الملف writing في حال كان الملف غير موجود سيتم إنشائه.

إشارة الزائد جنب حرف w تدل على أننا يمكن القراءة والكتابة إلى الملف, اما عندما نكتب فقط حرف w أي اننا نريد الكتابة فقط إلى الملف.

إذا عند تنفيذ التعليمة السابقة نكون قد أنشأنا ملف في بايثون.

الكتابة إلى الملف النصي في بايثون

لكي نكتب بعض المحتوى إلى الملف الذي قمنا بإنشائه، سنقوم بتنفيذ السطرين التاليين:

for i in range(10):
     f.write("This is line %d\r\n" % (i+1))

السطر في الأعلى عبارة عن حلقة تكرارية تقوم بتنفيذ التعليمة write عشر مرات، كل مرة نقوم فيها بتنفيذ التعليمة، يتم كتابة السطر this is line number متبوعا برقم السطر إلى الملف الذي قمنا بإنشائه.

إغلاق الملف بعد أنتهاء العمل معه في بايثون

من الضروري جدا بعد انتهائك من الكتابة او القراءة من ملف في بايثون ان تنفذ التعليمة التالية لكي يتم إغلاق الملف:

f.close()

إضافة نص إلى ملف في بايثون

في بعض الأحيان، تريد فتح ملف واضافة نص إلى نهايته، أي لا تريد حذف محتويات الملف وانما فقط الاضافة إلى أخر الملف. لكي تستطيع القيام بذلك في بايثون يجب استخدام وضع الاضافة a+ كما في السطر البرمجي التالي:

f=open("guru99.txt", "a+")

إن إضافة علامة الزائد + بعد حرف a تعني أنه في حال كان الملف غير موجود، سيتم إنشاء ملف جديد فارغ، اما في حال كان موجود فكما قلنا سيتم الكتابة إلى نهاية الملف.

بعد ذلك يمكنك كتابة ماتريد بنفس الطريقة السابقة, مثلا لاضافة سطرين إلى الملف كل سطر يحوي الجملة Appended line مع رقم السطر، نقوم بتنفيذ الكتلة البرمجية التالية:


for i in range(2):
     f.write("Appended line %d\r\n" % (i+1))

ملخص

قمنا في هذه المقالة بعض طريقة التعامل مع الملفات النصية في بايثون، وعرضنا الفرق بين نمط فتح الملف، إن كان للقراءة, او للكتابة, أو للاضافة. نتمى أن نكون قد قدمنا لكم محتوى مفيد.