14.1 القراءة من الملفات
أهداف التعلم
في نهاية هذا القسم، ينبغي أن تكون قادرًا على
- فهم كيفية فتح ملف باستخدام دالّة
open(). - توضيح كيفية قراءة المعلومات من ملف باستخدام
read()، وreadline()، وreadlines().
فتح ملف
تُعد قراءة المعلومات من الملفات وكتابتها إليها مهمة شائعة في البرمجة.
تدعم بايثون فتح الملفات باستخدام الدالّة open().
مفاهيم تطبيقية
فتح الملفات
استخدام read()
وقراءة الأسطر
توفر بايثون دوال يمكن استدعاؤها على كائن ملف لقراءة محتويات الملف:
- تقرأ دالّة
read()محتويات الملف وتُعيد سلسلة نصية. - تقرأ دالّة
readline()السطر التالي من الملف وتُعيد سلسلة نصية. - تقرأ دالّة
readlines()أسطر الملف كلًّا على حدة وتُعيد قائمة من السلاسل النصية تضمّ جميع أسطر الملف مرتّبةً.
مثال 14.1
استخدام read() و readlines()
يحتوي ملف باسم input.txt على المحتويات التالية:
12
55
5
91
"""Demonstrating read() and readlines()"""
# باستخدام read()
# فتح الملف وربطه بكائن ملف
infile = open("input.txt")
# قراءة محتويات الملف إلى سلسلة نصية
str1 = infile.read()
# طباعة str1
print("Result of using read():")
print(str1)
# أغلق الملف دائمًا بعد الانتهاء من استخدامه
infile.close()
# باستخدام read()
# فتح الملف وربطه بكائن ملف
infile2 = open("input.txt")
# قراءة محتويات الملف إلى سلسلة نصية list
str_list = infile2.readlines()
# طباعة العنصر الثالث في قائمة السلاسل النصية.
print("Result of using readlines() and printing the third item in the string list:")
print(str_list[2])
# أغلق الملف دائمًا بعد الانتهاء من استخدامه
infile2.close()
مخرجات الشِفرة هي:
Result of using read():
12
55
5
91
Result of using readlines() printing the third item in the string list:
5
مفاهيم تطبيقية
قراءة الملفات
افترض أن fileobj = open("input.txt") قد نُفِّذ بالفعل لكلٍّ من الأسئلة أدناه.
input.txt:
Hello world!
How are you?
جرّب بنفسك
جرّب بنفسك
القراءة من ملف سطرًا بسطر
يظهر الملف input.txt. يمثل الملف مجموعة من الأعداد الصحيحة. يحدد السطر الأول من الملف عدد الأعداد الصحيحة التي تليه. اكتب برنامجًا يقرأ من هذا الملف ويحدد متوسط الأرقام التي تلي السطر الأول.
input.txt
n: 5
25
13
4
6
19