كيفية إنشاء ملف في Python والكتابة فيه وإضافة محتوى إليه وقراءته

دقائق القراءة: 4

مقدمة: التعامل مع الملفات النصية في Python

تُستخدم الملفات في البرمجة لتخزين البيانات والرجوع إليها لاحقاً بسهولة. وفي لغة Python، تُعد عمليات إنشاء الملفات وقراءتها والكتابة فيها وتحديثها من المهام الأساسية التي توفر لها اللغة أدوات مدمجة وبسيطة.

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

صورة توضيحية لمفهوم التعامل مع الملفات النصية في Python وعمليات الكتابة والقراءة

إعداد هيكل المشروع للعمل على الملفات في Python

قبل البدء في كتابة الأكواد، من الأفضل تجهيز مجلد مشروع بسيط يحتوي على:

  • ملف نصي لتخزين البيانات.
  • ملف Python لتنفيذ الأوامر البرمجية.

يمكنك تنفيذ الخطوات التالية من الطرفية:

#this command moves you into your home directory if you're not there already
cd

#create a new directory and give it a name
mkdir python_text

#move into the directory you just created
cd python_text

#create two empty files in the same directory: one text file and one to hold your Python scripts
touch text.txt scripts.py

#open Visual Studio Code to edit code
.

في هذه المرحلة سيكون الملف text.txt فارغاً.

ملف نصي فارغ داخل مشروع Python قبل بدء الكتابة فيه

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

أفضل طريقة للتعامل مع الملفات في Python هي استخدام with مع الدالة open(). هذه الطريقة تساعد على فتح الملف وإغلاقه تلقائياً بعد انتهاء التنفيذ، وهو ما يجعل الكود أكثر أماناً وتنظيماً.

الصيغة العامة للكتابة إلى ملف

with open("path_to_and_name_of_file", "mode") as variable_name:
    variable_name.write('What I want to write goes here')

لفهم هذا التركيب بشكل أوضح:

  • with: تُستخدم لإدارة الملف بشكل آمن.
  • open(): تفتح الملف وتُرجع كائناً يمثل الملف.
  • المعامل الأول: مسار الملف واسمه.
  • المعامل الثاني: وضع الفتح، وفي حالة الكتابة نستخدم w اختصاراً لـ write.
  • as: تُستخدم لتخزين كائن الملف داخل متغير مؤقت.
  • .write(): تُستخدم لإرسال النص إلى داخل الملف.

مثال عملي على الكتابة داخل ملف

أضف الكود التالي داخل الملف scripts.py:

with open("text.txt", "w") as file:
    file.write("I am learning Python!\n")
    file.write("I am really enjoying it!\n")
    file.write("And I want to add more lines to say how much I like it")

إذا أردت كتابة كل سطر في سطر مستقل، فعليك إضافة محرف السطر الجديد \n يدوياً داخل النص.

بعد ذلك شغّل الملف من الطرفية باستخدام الأمر:

python3 scripts.py

عند فتح text.txt ستجد أن النصوص أُضيفت إليه بنجاح.

محتوى ملف نصي بعد الكتابة إليه باستخدام وضع write في Python

ملاحظة مهمة حول الوضع w

يجب الانتباه إلى أن استخدام الوضع w يعني الكتابة من جديد. أي أن المحتوى القديم للملف سيتم استبداله بالكامل عند تشغيل الكود مرة أخرى.

على سبيل المثال، إذا كان الملف يحتوي مسبقاً على نص قديم:

ملف نصي يحتوي على بيانات سابقة قبل إعادة الكتابة عليه في Python

ثم قمت بتشغيل الكود التالي:

with open("text.txt", "w") as file:
    file.write("I am learning Python!\n")
    file.write("I am really enjoying it!\n")
    file.write("And I want to add more lines to say how much I like it")

فسيتم حذف البيانات القديمة واستبدالها بالمحتوى الجديد.

نتيجة الكتابة فوق البيانات القديمة في الملف باستخدام w في Python

كيفية إضافة محتوى إلى ملف نصي في Python دون حذف البيانات السابقة

إذا كان هدفك هو إضافة نص جديد إلى نهاية الملف بدلاً من استبدال محتواه، فاستخدم الوضع a وهو اختصار لـ append.

الصيغة العامة للإضافة إلى الملف

with open("text.txt", "a") as file:
    file.write("What I want to add on goes here")

أي نص تضعه داخل .write() سيتم إضافته إلى نهاية الملف مباشرة.

مثال عملي على append في Python

with open("text.txt", "a") as file:
    file.write("I am adding in more lines\n")
    file.write("And more…")

بعد تنفيذ الكود، سيُضاف النص الجديد إلى نهاية الملف دون حذف النصوص السابقة.

إضافة نص جديد إلى نهاية الملف باستخدام append في Python

لكن انتبه: إذا لم تُضف \n في الموضع المناسب، فقد يبدأ النص الجديد مباشرة بعد آخر سطر موجود في الملف. لذلك يمكن كتابة الكود بهذا الشكل لتحسين التنسيق:

with open("text.txt", "a") as file:
    file.write("\n")
    file.write("I am adding in more lines\n")
    file.write("And more…")

تنسيق صحيح للنص المضاف إلى الملف باستخدام محرف سطر جديد في Python

كيفية قراءة ملف نصي في Python

بعد إنشاء الملف وكتابة البيانات داخله أو تحديثها، تأتي مرحلة قراءة المحتوى. في Python، يتم ذلك أيضاً باستخدام with وopen()، لكن هذه المرة مع الوضع r وهو اختصار لـ read.

قراءة الملف بالكامل دفعة واحدة

with open('text.txt', 'r') as file:
    print(file.read())

الدالة read() تُرجع كامل محتوى الملف كنص واحد، ثم تقوم print() بعرضه في الطرفية.

عرض محتوى الملف النصي بالكامل في الطرفية باستخدام read في Python

قراءة الملف سطراً بسطر باستخدام for loop

في بعض الحالات، تكون قراءة الملف سطراً بسطر أكثر ملاءمة، خصوصاً عند التعامل مع ملفات كبيرة أو عند الحاجة لمعالجة كل سطر بشكل مستقل.

with open("text.txt", "r") as file:
    for line in file:
        print(line)

بهذه الطريقة، يتم المرور على كل سطر في الملف على حدة وطباعته بشكل منفصل.

قراءة الملف النصي سطراً بسطر باستخدام for loop في Python

أفضل الممارسات عند التعامل مع الملفات في Python

  • استخدم with دائماً لتجنب نسيان إغلاق الملف.
  • استخدم w فقط عندما تكون متأكداً من أنك تريد استبدال المحتوى القديم.
  • استخدم a عندما ترغب في إضافة بيانات جديدة دون حذف البيانات الموجودة.
  • أضف \n عند الحاجة إلى فصل الأسطر بوضوح.
  • اختر طريقة القراءة المناسبة: read() للملف الكامل، أو for loop للقراءة التدريجية.

الخلاصة التقنية

يوضح هذا المثال العملي أن التعامل مع الملفات في Python بسيط وفعّال بفضل الدالة open() مع أوضاع التشغيل المختلفة مثل w وa وr. من الناحية التقنية، يُعد فهم الفرق بين الكتابة والاستبدال والإضافة أمراً أساسياً لتجنب فقدان البيانات. وإذا كنت تطور تطبيقات تتعامل مع السجلات أو الإعدادات أو التقارير النصية، فإن إتقان هذه الأساسيات سيمنحك قاعدة قوية لبناء وظائف أكثر تقدماً في إدارة الملفات.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *