مقدمة
تعد مساعدة المستخدم في التعامل مع البيانات أحد الوظائف الأساسية للغات البرمجة. ويشمل ذلك كتابة البيانات وقراءتها وتخزينها، بالإضافة إلى نقلها. Python هي واحدة من أكثر لغات البرمجة شعبية. إذا كنت تخطط لاستخدام Python، فيجب أن تكون لديك فكرة أساسية عن كيفية استخدام أنواع الملفات المختلفة. وأبسط أنواع الملفات هو تنسيق ملفات txt أو النصوص البرمجية البسيطة. افترض أن لديك برنامجًا يتحقق من المستخدمين للتحكم في الوصول. سيتم حفظ القائمة نفسها كملف نصي. وبالتالي، بينما قد تستخدم برنامجًا آخر لشركات معينة، فإنك ستستخرج القيم من مستند نصي. ولهذا السبب من المهم فهم تنسيق الملف النصي.
في هذا البرنامج التعليمي، سنبدأ بخلفية موجزة عن تنسيقات الملفات الأساسية في Python. ثم سنكتشف كيفية فتح الملفات النصية وقراءتها والكتابة إليها في البرنامج.
قبل أن نبدأ…
قبل أن نبدأ بالبرنامج التعليمي، هناك بعض المتطلبات الأساسية التي تحتاج إلى تلبيتها. أولاً، يجب أن تكون قد قمت بالفعل بـ تثبيت Python 3. بالإضافة إلى ذلك، تحتاج إلى بيئة برمجة محلية على نظامك. هذا البرنامج التعليمي ينطبق على Ubuntu 16.04 وما فوق، Debian 8، و CentOS 7، و Mac OS X، و Windows 10.
تنسيقات الملفات
هناك تنسيقات ملفات مختلفة يمكنك الاستفادة منها في Python. يسرد الجدول أدناه جميع التنسيقات المختلفة وأين يمكنك استخدامها:
| نوع الملف | الوصف |
|---|---|
| txt | يخزن ملف النص البسيط البيانات التي تمثل أحرفًا فقط (أو سلاسل نصية) ويستبعد أي بيانات وصفية منظمة. |
| CSV | يستخدم ملف القيم المفصولة بفواصل الفواصل (أو محددات أخرى) لهيكلة البيانات المفصولة، مما يسمح بحفظ البيانات في تنسيق جدول. |
| HTML | يخزن ملف لغة ترميز النص التشعبي بيانات منظمة ويشيع استخدامه مع معظم مواقع الويب. |
| JSON | تنسيق كائنات JavaScript هو تنسيق بسيط وفعال، مما يجعله أحد أكثر التنسيقات استخدامًا لتخزين البيانات ونقلها. |
في هذا البرنامج التعليمي، سنستكشف تنسيق ملف txt بمزيد من التفصيل.
الخطوة 1: إنشاء ملف نصي
أولاً، يجب علينا إنشاء ملف نصي جديد في Python. سننظر في مثال لأيام الأسبوع لأغراض الفهم. لهذا، سنفتح محرر النصوص، وننشئ ملف txt جديدًا، ونسميه days.txt. بعد ذلك، دعنا ندخل أيام الأسبوع كسطور فردية في الملف الجديد:
|
1 2 3 4 5 6 7 |
الإثنين الثلاثاء الأربعاء الخميس الجمعة السبت الأحد |
الآن بعد أن أصبح لدينا المحتوى، سنقوم بحفظ الملف. من المهم أن تتذكر مكان حفظ الملف. لنفترض أن مستخدمنا هو sammy. قام المستخدم بحفظ الملف على المسار التالي: /users/sammy/days.txt. سنستخدم هذا المسار في العمليات المستقبلية.
الخطوة 2: فتح الملف النصي
قبل أن تتمكن من البدء في كتابة برنامج، يجب عليك إنشاء ملف في المحرر. سنقوم بإنشاء ملف يسمى files.py وحفظه في دليل /users/sammy مثل ملف days.txt الخاص بنا.
لفتح أي ملف، يجب عليك بدء اتصال بين ملف القرص والمتغير. هذا هو ما يشكل 'فتح' الملف. يشار إلى موقع الملف بمسار الملف. تحتاج إلى المسار لفتح الملف. على سبيل المثال، مسار ملف days.txt هو التالي: /users/sammy/days.txt. بعد ذلك، سنقوم بإنشاء متغير سلسلة نصية لحفظ هذه البيانات. كما سترى أدناه، سنقوم بإنشاء متغير path في برنامج files.py وتغيير المتغير وفقًا لمسار days.txt:
|
1 |
path = '/users/sammy/days.txt' |
بعد ذلك، باستخدام دالة open()، سنقوم بفتح ملف days.txt . بالنسبة لهذه الدالة، تحتاج إلى توفير مسار الملف. من بين المعلمات الأخرى، الأهم هو معلمة الوضع (mode). هذه سلسلة نصية اختيارية يمكنك إضافتها لتحديد الوضع الذي تفتح فيه الملف. فيما يلي بعض خيارات الوضع:
'r’: القراءة'w’: الكتابة'x’: إنشاء ملف جديد والكتابة فيه'a’: الإضافة إلى ملف'r+’: قراءة وكتابة نفس الملف
للقراءة ببساطة من الملف، تحتاج إلى استخدام وضع 'r’. قم بتشغيل دالة open() وافتح ملف days.txt . بعد ذلك، قم بتعيينه إلى متغير days_file:
|
1 |
days_file = open(path,'r') |
الخطوة 3: قراءة ملف نصي
بعد فتح الملف، يمكننا القراءة منه من خلال المتغير. هناك ثلاث عمليات مرتبطة بقراءة الملفات. دعنا نستكشف الثلاثة جميعًا.
العملية الأولى هي <file>.read(). ستعرض لك المحتوى الكامل للملف في سلسلة نصية واحدة:
|
1 |
days_file.read() |
المخرجات:
|
1 |
'Monday\nTuesday\nWednesday\nThursday\nFriday\nSaturday\nSunday\n' |
<file>.readline(). سيعرض لك هذا السطر التالي في الملف. سيقوم أساسًا بقراءة الملف سطرًا بسطر:|
1 |
days_file.readline() |
المخرجات:
|
1 |
'Monday\n' |
|
1 |
days_file.readline() |
المخرجات:
|
1 |
'Tuesday\n' |
<file>.readlines(). ستعرض لك قائمة بجميع الأسطر في الملف. يمثل كل عنصر سطرًا واحدًا:|
1 |
days_file.readlines() |
المخرجات:
|
1 |
['Monday\n', 'Tuesday\n', 'Wednesday\n', 'Thursday\n', 'Friday\n', 'Saturday\n', 'Sunday\n'] |
الخطوة 4: كتابة الملف
بعد ذلك، سنتعلم كيفية كتابة ملف جديد. هذا الملف، في مثالنا، سيكون له العنوان (Days of the Week) ثم أيام الأسبوع بعد ذلك.
للبدء، يجب علينا إنشاء متغير title :
|
1 |
title = 'Days of the Week\n' |
بعد ذلك، يتعين علينا حفظ أيام الأسبوع في شكل متغير سلسلة نصية. سيُطلق على هذا المتغير اسم days. سنستمر في استخدام الكود الذي استخدمناه في الخطوات أعلاه. سنفتح الملف في وضع القراءة ونخزن المخرجات في متغيرنا الجديد days :
|
1 2 3 |
path = '/users/sammy/days.txt' days_file = open(path,'r') days = days_file.read() |
هذا يعني أننا قمنا بإنشاء متغيرات للعنوان وكذلك لأيام الأسبوع الفردية. الآن يمكننا كتابة الملف نفسه. الخطوة الأولى هي تحديد موقع الملف باستخدام الدليل /users/sammy/. في المسار، ستحدد أيضًا الملف الجديد: /users/sammy/new_days.txt. سيبقى مسار الموقع تحت متغير new_path. بعد ذلك، افتح الملف في وضع الكتابة باستخدام الدالة open() في وضع ‘w’ :
|
1 2 |
new_path = '/users/sammy/new_days.txt' new_days = open(new_path,'w') |
الآن بعد أن أصبح الملف مفتوحًا، يمكنك إدخال البيانات باستخدام دالة الكتابة <file>.write(). هنا، تحتاج إلى إدخال معامل سلسلة نصية واحد. إذا كنت تريد إدخال سطر جديد، فأدخل رمز السطر الجديد. بالنسبة لملفنا، سنقوم بإدخال العنوان أولاً ثم أيام الأسبوع. إلى جانب ذلك، سيكون لدينا أيضًا بعض عبارات الطباعة لتتبع تقدم السكربت:
|
1 2 3 4 |
new_days.write(title) print(title) new_days.write(days) print(days) |
الخطوة 5: إغلاق الملف
عند إغلاق الملف، فإنك تنهي الاتصال بين ملف القرص ومتغير الملف. عند إغلاق الملف، يمكن للبرامج الأخرى الوصول إليه. يساعد هذا أيضًا في الحفاظ على أمان الملف وبياناته. لذلك، تذكر دائمًا إغلاق الملفات عند الانتهاء من معالجتها. للقيام بذلك، يمكنك استخدام الدالة <file>.close() :
|
1 2 |
days_file.close() new_days.close() |
بهذا ينتهي جانب معالجة الملفات في بايثون.
الخطوة 6: فحص الكود
أخيرًا، سنقوم بفحص الكود. يجب عليك فعل ذلك قبل تشغيل الكود الذي كتبته. يجب أن يبدو الكود شيئًا كهذا:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
path = '/users/sammy/days.txt' days_file = open(path,'r') days = days_file.read() new_path = '/users/sammy/new_days.txt' new_days = open(new_path,'w') title = 'Days of the Week\n' new_days.write(title) print(title) new_days.write(days) print(days) days_file.close() new_days.close() |
بمجرد حفظ الكود، يجب عليك تشغيل سكربت Python. للقيام بذلك، تحتاج إلى فتح الطرفية:
|
1 |
$ python files.py |
سيظهر المخرج التالي:
|
1 2 3 4 5 6 7 8 9 |
أيام الأسبوعWeek الإثنين الثلاثاء الأربعاء الخميس الجمعة السبت الأحد |
للتحقق من الكود الخاص بك، ستفتح الملف الجديد وهو new_days.txt. إذا كان كل شيء على ما يرام، فسترى ما يلي:
|
1 2 3 4 5 6 7 8 9 |
أيام الأسبوعWeek الإثنين الثلاثاء الأربعاء الخميس الجمعة السبت الأحد |
إذا رأيت شيئًا مشابهًا لما ورد أعلاه، فقد أكملت الخطوات بنجاح.
الخاتمة
من خلال هذا الدرس التطبيقي، هدفنا إلى تعريفك بتنسيقات الملفات الأساسية في Python 3. ومن بين هذه التنسيقات، يعد تنسيق الملف النصي أحد أكثرها أهمية. لقد استكشفناه بمزيد من التفصيل. الآن، أصبحت على دراية تامة بالعملية والخطوات المتبعة في فتح ملفات البيانات وقراءتها والكتابة فيها وإغلاقها. باستخدام هذه المعلومات، ستتمكن من استخدام تنسيق الملف النصي بفعالية في تجربتك البرمجية الخاصة بلغة Python.
الآن بعد أن تعلمت كيفية التعامل مع ملفات النصوص العادية في Python، إليك بعض الدروس التطبيقية الإضافية من مدونتنا والتي ستساعدك على البدء في استخدام Python:
- استخدام منسقات النصوص في Python 3
- الحلقات التكرارية في Python 3: استخدام عبارات Break وContinue وPass
- Python 3: دليل حول تحويل أنواع البيانات
- كيفية زحف صفحة ويب باستخدام Scrapy وPython 3
حوسبة سعيدة!
التعليقات
لا توجد تعليقات بعد. كن أول من يعلق.