تعد القراءة والكتابة إلى ملف للتخزين أو الاستخدام لاحقًا من المهام الشائعة في البرمجة. لدى بايثون عدة طرق للتعامل مع الملفات، ولكننا سنركز بشكل خاص على الكتابة إلى الملفات النصية. تُستخدم الملفات النصية لتخزين البيانات النصية العادية، وتسهل لغة Python على المبرمجين قراءة البيانات وكتابتها في الملفات النصية.
سنشرح في هذا البرنامج التعليمي كيف يمكن للمستخدمين الكتابة في ملف نصي باستخدام بايثون.
لدى Python وظيفة مدمجة لإنشاء الملفات أو كتابتها أو قراءتها. يمكنه التعامل مع نوعين من الملفات: الملفات النصية العادية والملفات الثنائية. يعتمد الاختيار بين هذين الأمرين على البيانات التي تعمل عليها ومتطلبات التطبيق.
بناء الجملة لفتح ملف في بايثون:
# Method 1: file = open (path_to_the_file, mode) # Manually required to close the file `file.close()` to ensure that # changes made are saved, and system resources are freed up. # Method 2: with open (path_to_the_file, mode) as file: # It automatically closes the file properly # after the block code is executed.
يمكن للدالة open() قبول معلمات مختلفة. ولكن يجب على المستخدم التركيز على الأولين:
للكتابة في ملف نصي، سيستخدم المستخدم الوضع التالي:
وضع | وصف |
---|---|
'في' | يتم استخدامه لفتح الملف النصي لكتابة النص. يتم اقتطاع الملف في هذا الوضع مما يعني حذف محتويات الملف الموجودة. |
'أ' | يتم استخدامه لفتح الملف النصي لإلحاق النص. يتم وضع المؤشر في نهاية الملف، ويتم إلحاق البيانات الجديدة بالمحتوى الموجود. |
مثال: لإظهار كيف يمكن للمستخدم الكتابة في ملف نصي باستخدام بايثون
file.write(' ') file.writelines(' ')
الأمر متروك تمامًا للمستخدم فيما إذا كان يريد إضافة النص في السطر التالي أم لا.
أمثلة على كود C#
المثال 2: لتوضيح كيفية استخدام وظيفة write() لكتابة قائمة النصوص في الملف النصي
# Method 1 - Simple Approach file = open ('writeme.txt', 'w') file.write('writeme') file.close() # Method 2 - Using the 'with' keyword to open a file with open ('writeme.txt', 'w') as file: file.write('writeme')
انتاج:
كلا الطريقتين تعطي نفس النتيجة.
خطوات الكتابة في ملف نصي في بايثون:
للكتابة في الملف النصي باستخدام بايثون ، يجب على المستخدم اتباع الخطوات التالية:
الخطوة 1 – فتح الملف – لبدء الكتابة إلى ملف نصي، نحتاج أولاً إلى فتحه باستخدام وظيفة open() المضمنة، والتي تأخذ معلمتين: اسم الملف (بما في ذلك المسار إذا لم يكن الملف موجودًا في الدليل الحالي) والوضع الموجود في الذي نريد فتح الملف . في حالة الكتابة إلى ملف نصي، يمكننا إما استخدام الوضع 'w'، الذي يرمز إلى وضع الكتابة، أو الوضع 'a'، الذي يرمز إلى وضع الإلحاق. إذا لم يكن الملف موجودًا، فستقوم Python بإنشاء ملف جديد بالاسم المحدد.
# Opening a file 'example.txt' file = open('example.txt', 'w')
ستعيد الدالة open() كائن ملف، وسيكون لكائن الملف هذا وظيفتان مفيدتان لكتابة النص فيه:
- يكتب()
- خطوط الكتابة ()
يتم استخدام وظيفة write() لكتابة السلسلة في الملف النصي، ويتم استخدام وظيفة writelines() لكتابة قائمة السلسلة في الملف مرة واحدة.
يمكن للدالة writelines() أيضًا قبول الكائن القابل للتكرار. يمكن للمستخدم أيضًا تمرير مجموعة السلاسل، ومجموعة السلاسل، وما إلى ذلك.
للكتابة في السطر التالي، يجب على المستخدم إضافة حرف السطر الجديد يدويًا.
الخطوة الثانية - الكتابة إلى الملف: بمجرد فتح الملف في وضع الكتابة، يمكننا إما استخدام وظيفة write() أو وظيفة writelines() للكتابة فيه. تأخذ طريقة write() سلسلة نصية كمعلمة نريد كتابتها في الملف. يمكننا كتابة أسطر متعددة عن طريق استدعاء الدالة write() عدة مرات أو استخدام أحرف السطر الجديد ( ) بين السلاسل لفصل السطور.
# Using the 'write' function file.write('This is the first line. ') file.write('This is the second line. ') # Using the 'writelines' function file.writelines('This is the first line. This is the second line. ')
الخطوة 3 – إغلاق الملف: يمكن للمستخدم إغلاق الملف النصي باستخدام وظيفة Close(). بعد كتابة المحتوى المطلوب في الملف، من المهم إغلاقه بشكل صحيح. ويضمن إغلاق الملف حفظ أي تغييرات وتحرير موارد النظام.
# Closing the file file.close()
المثال 2: لإظهار كيف يمكن للمستخدمين إضافة حرف سطر جديد في ملف txt
file.write(' ') file.writelines(' ')
الأمر متروك تمامًا للمستخدمين فيما إذا كانوا يريدون إضافة النص في السطر التالي أم لا.
مثال 3: لإظهار كيفية استخدام وظيفة write() لكتابة قائمة النصوص أو السلاسل في ملف نصي
# Creating a list of strings lines_1 = [ 'This is an example', 'to show how a user can write in a text file using Python'] with open('text.txt', 'w') as file: # Iterating over each element of the list for line_1 in lines_1: file.write(line_1) # Adding the line to the text.txt file.write(' ') # Adding a new line character
انتاج:
توضيح:
في المثال أعلاه، قمنا أولاً بإنشاء قائمة من السلاسل باسمlines_1، ثم فتحنا هذا الملف باستخدام الدالة open() مع العبارة 'with'. استخدمنا بعد ذلك حلقة for للتكرار على عناصر القائمة، متبوعة بكتابة السطر وإضافة حرف سطر جديد إلى الملف. تتم إضافة حرف سطر جديد في نهاية حلقة for، ويتم وضع المؤشر في السطر التالي.
إذا لم يكن ملف text.txt موجودًا في المجلد، فستقوم الدالة open() بإنشاء الملف الجديد، ويتم تنفيذ العمليات وفقًا لذلك.
مثال 4: لإظهار كيف يمكن للمستخدمين كتابة قائمة السلاسل النصية في ملف text.txt باستخدام وظيفة writelines():
# Creating a list of strings lines_1 = [ 'This is an example ', 'to show how a user can write in a text file using writelines() function in Python.'] # Opening the text.txt file with open('text.txt', 'w') as file: # Using the writelines() function file.writelines(lines_1)
انتاج:
توضيح:
باوانديب راجان
في المثال أعلاه، تقوم الدالة writelines() بكتابة كل عنصر قائمة في سطر واحد في الملف.
إذا كان المستخدم يعامل كل عنصر من عناصر القائمة كسطر، فيجب عليه ربطه بحرف سطر جديد.
المثال 4: لإظهار كيف يمكن للمستخدم ربط حرف السطر الجديد بكل عنصر من عناصر السطر في ملف text.txt
لقد رأينا بالفعل في المثال رقم 3 كيف يمكننا إضافة حرف سطر جديد بعد كل عنصر في القائمة. أثناء استخدام وظيفة writelines()، يجب علينا إضافة حرف سطر جديد في السلسلة.
# Creating a list of strings lines_1 = [ 'This is an example ', 'to show how a user can link a new line character ', 'with each element of the list. '] # Opening the text.txt file with open('text.txt', 'w') as file: # Using the writelines function file.writelines(lines_1)
انتاج:
توضيح:
في المثال أعلاه، تقوم الدالة writelines() بكتابة عنصر القائمة في ملف text.txt، حيث ينتهي كل عنصر قائمة بحرف سطر جديد.
خاتمة
لقد شرحنا في هذا البرنامج التعليمي كيف يمكن للمستخدم كتابة النصوص في ملف نصي باستخدام بايثون ووظائفها المختلفة. لقد تعلمنا أولاً عن الملفات النصية العادية والثنائية، متبوعة بكيفية فتح الملف. لقد نظرنا أيضًا في الفرق بين 'w' (وضع الكتابة) و'a' (وضع الإلحاق). تعرفنا بعد ذلك على خطوات الكتابة في ملف نصي في بايثون وقمنا بتنفيذ أمثلة مختلفة لفهم الطرق المختلفة للكتابة في ملف نصي.