البرمجة

تحسين قراءة الملفات باستخدام Python: دليل عملي

عندما نلقي نظرة على الشيفرة التي قدمتها، يظهر أن هناك خطأ بسيط قد أدى إلى رسالة الخطأ التي تقول “‘return’ out of function”. هذا الخطأ يعني أنك قد وضعت العبارة return خارج الدالة، وبالتالي لا يتم قبولها هناك. لفهم السياق بشكل أفضل وتصحيح هذا الخطأ، دعنا نلقي نظرة عميقة على الشيفرة.

أولًا، يبدو أن هناك تهيئة غير صحيحة لفتح الملف، حيث يجب أن تكون عبارة file.open داخل الدالة get_information، حتى تكون جزءًا من البنية البرمجية للدالة. لذا، يجب تحريك هذا الجزء إلى الداخل، ويمكن أن يكون لديك شيفرة مشابهة للتالي:

python
def get_information(): names_list=[] coursework_marks_list=[] prelim_marks_list=[] with open("details.txt","r") as file: for line in file: item=line.split() if len(item) > 1: names_list.append(item[0]) coursework_marks_list.append(item[1]) prelim_marks_list.append(item[2]) return names_list, coursework_marks_list, prelim_marks_list

تم إجراء تعديلات هنا، حيث تم استخدام with open لفتح الملف، وهو يوفر إغلاق الملف تلقائيًا بمجرد الانتهاء من استخدامه.

ثانيًا، يجب أن تكون عبارة return داخل الدالة get_information، وليس خارجها. هذا ما تم تصحيحه في الشيفرة أعلاه.

الكود المعدل يقوم بقراءة الملف “details.txt” ويقوم بفرز الأسماء وعلامات الدورة والاختبار الأولي، ثم يقوم بإرجاع هذه البيانات كقائمة.

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

المزيد من المعلومات

بالطبع، دعونا نوسّع المحادثة لنضيف المزيد من المعلومات والتفاصيل حول الشيفرة وطريقة عملها.

في الشيفرة المعدلة، نستخدم with open لفتح الملف “details.txt”، وهو يعتبر أسلوبًا أكثر أمانًا لفتح الملفات، حيث يتم ضمان إغلاق الملف تلقائيًا بغض النظر عن حدوث أي استثناء في البرنامج.

ثم نستخدم دورة for للتفحص على كل سطر في الملف. نقوم بتقسيم كل سطر إلى عناصر باستخدام split()، ونضيف العناصر غير الفارغة إلى قوائم names_list، coursework_marks_list، و prelim_marks_list.

في نهاية الدالة، نقوم بإرجاع هذه القوائم كقيمة. يمكنك استخدام هذه القيم في جزء آخر من برنامجك لتحليلها أو استخدامها بطريقة أخرى وفقًا لاحتياجاتك.

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

باستخدام هذه الشيفرة المعدلة، يمكنك تحسين قراءة الملف وتنظيم البيانات بشكل أكثر فعالية.

زر الذهاب إلى الأعلى