معالجة الملفات النصية بلغة بايثون
بسم الله الرحمن الرحيم
أعزائي متابعي الموقع
السلام عليكم ورحمة الله وبركاته
مقال هذا اليوم الرائع والجميل يتناول موضوع شيق ومفيد ويتحدث عن معالجة الملفات النصية بلغة بايثون القوية.
محتويات المقالة :
- مقدمة
- الملفات النصية
- فتح الملفات النصية وإغلاقها
- قراءة الملفات النصية
- إنشاء ملف جديد نصي
- الإضافة والكتابة على ملف نصي قائم
- صيغة مختلفة لفتح الملفات
- حذف الملف
- خاتمة
مقدمة
لا يختلف ملف الكمبيوتر عن الملف التقليدي برفوف مكتبك كثيرًا. عن طريق ملف الكمبيوتر تستطيع تسجيل البيانات بشكل منفصل في جهاز الكمبيوتر وكتابة المعلومات داخله وتحريرها وقراءتها وتغييرها وحفظها حتى نقلها عبر الإنترنت باستخدام برامج الكمبيوتر.
ولما في استخدام الملفات أهمية قصوى توفر اللغة البرمجية Python دوال ومكتبات لإجراء عمليات مختلفة على الملفات مثل الإنشاء والقراءة والكتابة والحذف وغيرها. وما يميز استخدام هذه اللغة عن مثيلاتها أنها تحوي على أوامر قصيرة جدًا وسهلة التنفيذ.
وخلال هذه المقال سنتعلم معًا كيفية معالجة هذه الملفات باستخدام لغة Python بطريقة سهلة ومبسطة.
============
الملفات النصية
هناك أنواع مختلفة من الملفات حيث طريقة التعامل مع هذه الملفات تختلف باختلافها في Python وفي المقال سيكون تركيزنا في طرق معالجة الملفات النصية وهي ذلك النوع من الملفات التي لا تحتوي على ترميز معين ويمكن فتحها باستخدام محرر نصوص.
مثل:
- ملفات المستندات النصية
تنتهي بامتدادات مثل: txt, tex, RTF … الخ
- الملفات المستخدمة للشيفرات البرمجية
تنتهي بامتدادات مثل: c, app, js, py, java … الخ
============
فتح الملفات النصية وإغلاقها
توفر بايثون احد الدوال المبنية داخلها تساعد على فتح الملفات وهي دالة open() è حيث تتطلب هذه الدالة تمرير الملف المراد فتحه مع تحديد حالة الفتح او الهدف منه كقراءة الملف او الكتابة ..الخ
توجد عدد من الحالات mode التي تستخدم لفتح الملف والتي سنستخدمها خلال المقال وهي كالتالي :
- حالة القراءة è “r” وهي الحالة الافتراضية وتستخدم عند محاولة القراءة على الملف فقط
- حالة الإنشاء è “x” وتستخدم عند إنشاء ملف جديد
- حالة الإضافة è “a” وتستخدم عند الإضافة على الملف
- حالة الكتابة è “w” وتستخدم عند الكتابة على الملف
مثال على فتح ملف نصي باستخدام بايثون:
my_file = open(‘file_name.txt’)
ملاحظة: يجب ان يتوفر الملف النصي بنفس مسار ملف بايثون
ويمكن إغلاق الملف بعد الانتهاء منه عن طريق السطر التالي:
my_file.close()
============
قراءة الملفات النصية
كما شرحنا سابقًا طريقة فتح الملف وإغلاقه وقلنا انه بشكل افتراضي يقوم بفتح الملف لقراءته فلنفترض الآن اني اؤد طباعة الاسطر التي يحتوي بها هذا الملف هناك 3 دوال من شأنها مساعدتنا في ذلك:
- دالة read() è حيث هذه الدالة ستقوم بقراءة كامل الملف
- دالة readline() è ستقوم هذه الدالة فقط بإعادة سطر واحد من الملف النصي
- دالة readlines() è ستقوم بقراءة كامل الملف وتقسيمه الى عدة سطور
مثال :
my_file = open(‘file_name.txt’, ‘r’)
read = my_file.read()
print(read)
my_file.close()
# output
Hello, Congrats !
You are reading me now !
============
إنشاء ملف نصي جديد
في حال اردنا إنشاء ملف نصي جديد باستخدام وضع ‘x’ وضع انشاء ملف جديد ونستطيع بكل بساطة ان نقوم بالتالي :
my_file = open(‘file_name.txt’, ‘x’)
my_file.close()
============
الإضافة والكتابة على ملف نصي قائم
يمكن إضافة النصوص على ملف نصي قائم او الكتابة عليها باستخدام دالة write() è ويتم تمرير ما نود اضافته للملف بداخلها
إن الفرق بين استخدام حالة الإضافة ‘a’ وحالة الكتابة ‘w’ إن حالة الإضافة ستقوم بإضافة النص الجديد الى الملف ام الكتابة ستقوم باستبدال كامل الملف النصي القديم بالنص الجديد المضاف.
مثال :
my_file = open(‘file_name.txt’, ‘a’)
my_file.write(‘\nThis line has been appended through python’)
my_file.close()
#output
Hello, Congrats !
You are reading me now !
This line has been appended through python
my_file = open(‘file_name.txt’, ‘w’)
my_file.write(‘This line has been appended through python’)
my_file.close()
#output
This line has been appended through python
============
صيغة مختلفة لفتح الملفات
كما لاحظنا في الأمثلة السابقة انه عندما ارغب في فتح ملف ما اسند دالة فتح الملف الى متغير بالطريقة التقليدية هناك طريقة أخرى تعتبر أفضل كهيئةً وتعاملًا مع الأخطاء وهي باستخدام with
مثال:
:بدلًا من قراءة الملف بهذه الطريقة
my_file = open(‘file_name.txt’,’r’)
print(myfile.read())
myfile.close()
============
يمكن استخدام الطريقة التالية:
with open(‘output.txt’, ‘w’) as my_file:
print(my_file.read())
ملاحظة مع طريقة with لا تحتاج الى دالة الاغلاق close لأنها ستتكفل بذلك!
حذف الملف النصي
يمكن حذف الملف باستخدام دالة remove() è التابعة لمكتبة os وهي دالة مخصصة لحذف الملفات
مثال :
import os
os.remove(‘file_name.txt’)
وبذلك تعلمنا معًا كيف يمكننا إجراء العمليات الأساسية على معالجة الملفات النصية بلغة بايثون
============