التعامل مع الملفات بايثون - ProgrammerTech
Language:

Search

التعامل مع الملفات بايثون

  • Share this:
التعامل مع الملفات بايثون

معالجة الملفات

التعامل مع الملفات ( Files Handling ) يقصد بها إجراء عملية ما على الملفات بمختلف أنواعها ( مثل txt - jpg - mp4 ). في هذا الدرس سوف تتعلم كيف تقرأ محتوى من ملف و كيف تنشئ نسخة منه و كيف تعدّل محتواه و كيف تحذفه إلخ… مثلاً يكون لدينا ملف txt على سطح المكتب و بداخله بيانات و نريد قراءتها أو الكتابة عليه.

 

الدالة open()

الدالة open() هي من الدوال الجاهزة في بايثون و هي تُستخدَم من أجل إنشاء ملف جديد أو فتح هذا الملف الذي سوف يتم التعامل معه, و في حال تم إنشاء الملف بشكل صحيح أو تم فتح الملف ترجَّع كائن file يتيح التعامل معه و في حال لم تستطع إنشاء الملف أو الوصول إليه ترمي إستثناء.

الشكل العام لبناء دالة open() في بايثون

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None)

حيث أن:

  • في مكان البارميتر file نقوم بتمرير نص يمثل إسم الملف الذي سوف يتم إنشاؤه أو التعامل معه.
  • mode باراميتر إختياري, نمرر مكانه حرف أو أكثر و يمثل كيف سوف نتعامل مع الملف سواء القراءة منه أو الكتابة فيه.
  • buffering باراميتر إختياري يمكن أن نمرّر في مكانه رقم يحدد كيف سيتم تخزين الأحرف بشكل مؤقت أثناء الكتابة أو القراءة من هذا الملف.
  • encoding هو باراميتر إختياري و يمكن أن نمرّر في مكانه إسم الترميز الذي يجب إستخدامه عندما نقوم في التعامل مع الملف.
  • errors هو باراميتر إختياري و يمكن أن نمرر في مكانه كلمة من أجل تحديد كيف سوف يتم التعامل مع الأخطاء التي قد تحدث عند التعامل مع هذا الملف.
  • newline هو باراميتر إختياري أيضاً, يمكن أن نمرر في مكانه الرمز الذي يمثل نهاية كل سطر في الملف و يجعل النص الذي يوضع بعضه ينزل على سطر جديد.

أهم باراميتر في هذه الدالة هو الباراميتر mode لأنه قلنا أن الحرف الذي نمرره مكانه يحدد الهدف من فتح الملف.

 

الرموز المستخدمة مع الملفات في بايثون

فيما يلي سوف نقو بإدراج بعض الرموز التي نقوم بإستخدامها مع الملفات في بايثون.

  1. الرمز "r" للقراءة.
  2. الرمز "w" للكتابة.
  3. الرمز "a" للإضافة.
  4. الرمز "r+" قراءة و إضافة.
  5. الرمز "w+" حذف الملف السابق و اضافة جديد بنفس الاسم.
  6. الرمز "a+" اضافة الملف المحدد اسمه ان لم ينوجد.
  7. الرمز "rb and rb+" قراءة بايتات صورة.
  8. الرمز "ab and ab+" اضافة بايتات اكثر من ملف ودمجهن سوياً.
  9. الرمز "wb and wb+" قراءة وكتابه بايتات صورة.

 

 مثال 1

لننشأ ملف txt على سطح المكتب و نسمي الملف مثلاً 1 ونكتب بداخله Programmer Tech سنقوم بقراءة الملف عن طريق البايثون, اول شيئ نقوم به تحديد مسار هذا الملف عن طريق file_dir.

>>>file_dir = "C:\\Users\\sama\\Desktop\\1.txt"

لننشأ متغير مثلا اسمه fp

>>>file_dir = "C:\\Users\\sama\\Desktop\\1.txt"
>>>fp = open (file_dir, "r")
>>>fp.read()
'programmer tech'

كما لاحظنا في المثال السابق في البداية حدّدنا مسار الملف ثم انشأنا متغير و قرأنا ما بداخل الملف.

لنأخذ مثال آخر و نضيف عدة اسطر بالملف الذي اسمه 1.

>>>file_dir = "C:\\Users\\sama\\Desktop\\1.txt"
>>>fp = open(file_dir,"r")
>>>print (fp.readlines())

وسوف تكون النتيجة ك هيئة مصفوفة كالتالي

['programmer tech\n', 'database\n', 'ahmedkaissar']

إستخدمنا الدالة readlines في المثال السابق. اما اذا اردنا طباعة اول سطر فقط نكتب الاندكس التابع له كالتالي

print (fp.readlines() [0] )

و لكتابة شيئ ضمن البيانات نستخدم الحرف a كالتالي

file_dir = "C:\\Users\\sama\\Desktop\\1.txt"
fp = open(file_dir,"a")
fp.write("hello")
fp.close

و لإزالة جميع البيانات من الملف و كتابة بديل نستخدم الحرف w.

fp = open(file_dir,"w")

يمكنكم مشاهدة الفيديو الآتي في قناتنا على يوتيوب من الفيديو الآتي


Tags:
Muhammad Alush

Muhammad Alush

إسمي محمد تركي العلوش من سورية من ريف حلب الشرقي 1994, محب للتقنية و التعلم الذاتي, و جميع خبراتي تعلمتها ذاتياً, و اللغات البرمجية التي أتقنها هي html, css, javascript, php, c, python بالإضافة إلى حبي الكبير لمجال الشبكات.

موقعي programmer-tech.com