Python طريقة readline() مع الأمثلة

⚡ ملخص ذكي

Python تقوم دالة readline بقراءة سطر واحد من ملف في كل مرة. Lessصيغة ons cover، وسيط الحجم الاختياري، looping من خلال الخطوط، والأداء، والمقارنة مع خطوط القراءة والتكرار.

  • 📄 اقرأ سطرًا واحدًا: تقوم الدالة file.readline() بإرجاع السطر التالي بما في ذلك حرف السطر الجديد في النهاية.
  • 📏 حجة الحجم: قم بتمرير حد أقصى لعدد البايتات إلى دالة readline لتحديد مقدار السطر الذي يتم إرجاعه.
  • 🔁 ملفات التكرار: قم بدمج دالة readline مع حلقات while، أو قم بتكرار كائن الملف لقراءة الملفات بكفاءة عالية من حيث استهلاك الذاكرة.
  • 📚 readline vs readlines: تقرأ الدالة readline سطرًا واحدًا؛ بينما تقوم الدالة readlines بتحميل كل سطر في قائمة دفعة واحدة.
  • ⚡ نصيحة للذاكرة: بالنسبة للملفات الضخمة، قم بالتكرار سطرًا بسطر بدلاً من تحميل الملف بأكمله في الذاكرة.
  • 🤖 مساعدو الذكاء الاصطناعي: تقوم المساعدات المدعومة بالذكاء الاصطناعي بإنشاء أنماط readline، واقتراح مديري السياق، وإعادة هيكلة كود الإدخال/الإخراج بسرعة.

Python طريقة ريدلاين

ما هي تفاصيل Python قراءة الخط؟

Python قراءة سطر () هي طريقة ملف تساعد على قراءة سطر كامل من الملف المحدد. يحتوي على سطر جديد لاحق ("\n") في نهاية السلسلة التي تم إرجاعها.

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

إن تدفق readline() مفهوم جيدًا في لقطة الشاشة الموضحة أدناه:

لديك ملف demo.txt، وعند استخدام readline()‎، فإنه يُرجع السطر الأول من demo.txt.


Python يقوم readline
كيف يعمل ريدلاين

سمة من سمات Python قراءة سطر ()

وهنا خصائص مهمة Python قراءة الخط:

  • Python يقرأ التابع readline()‎ سطرًا واحدًا فقط من الملف المُعطى.
  • يقوم بإلحاق سطر جديد ("\n") في نهاية السطر.
  • إذا قمت بفتح الملف في وضع القراءة العادي، فسيعيد لك التابع readline()‎ السلسلة.
  • إذا قمت بفتح الملف في الوضع الثنائي، فسيقوم التابع readline()‎ بإرجاع الكائن الثنائي إليك.
  • يمكنك إعطاء size كوسيطة للتابع readline()، وسيحصل على السطر حسب الحجم المحدد بما في ذلك السطر الجديد. افتراضيًا، الحجم هو 0، ويقوم بإرجاع السطر بأكمله.

بناء الجملة

file.readline(size)

المعاملات

المقاس: (اختياري) هنا، يمكنك تحديد الرقم، وقيمة عددية للقراءة (). سوف تحصل على سلسلة من هذا الحجم. بشكل افتراضي، قيمة الحجم هي -1، وبالتالي يتم إرجاع السلسلة بأكملها.

قيمة الإرجاع

يقوم التابع readline()‎ بإرجاع السطر من الملف المحدد.

مثال: لقراءة السطر الأول باستخدام readline()

سنفهم هنا كيفية قراءة السطر من الملف المعطى باستخدام طريقة readline() . سنستخدم ملف demo.txt هنا لقراءة محتوياته.

محتويات الملف التجريبي.txt هي كما يلي:

ملف تجريبي.txt

Testing - FirstLine
Testing - SecondLine
Testing - Third Line
Testing - Fourth Line
Testing - Fifth Line

فيما يلي الخطوات لقراءة سطر من الملف demo.txt.

الخطوة 1) أولاً، قم بفتح الملف باستخدام طريقة file open()، كما هو موضح أدناه:

myfile = open("demo.txt", "r")

تأخذ الطريقة open() المعلمة الأولى كاسم للملف، والمعلمة الثانية هي الوضع الذي تريد فتحه. الآن، استخدمنا "r"، مما يعني أن الملف سيتم فتحه في وضع القراءة.

الخطوة 2) استخدم طريقة readline() لقراءة السطر من الملف demo.txt كما هو موضح أدناه:

myline = myfile.readline()

الخطوة 3) يتم تخزين السطر المقروء داخل myline. دعنا الآن نطبع السطر لنرى التفاصيل:

print(myline)

الخطوة 4) بمجرد الانتهاء من القراءة، أغلق الملف باستخدام طريقة Close() كما هو موضح أدناه:

myfile.close()

الكود بأكمله هو كما يلي:

myfile = open("demo.txt", "r")
myline = myfile.readline()
print(myline)
myfile.close()

الإخراج:

Testing - FirstLine

مثال: استخدام وسيطة الحجم في readline()

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

يحتوي المثال الموضح على معلمة الحجم المعطاة بالقيمة 10. سيتم جلب السطر الأول، وسيُرجع السطر الذي يحتوي على أحرف من 0 إلى 10.

سوف نقوم باستخدام ملف demo.txt الذي تم استخدامه سابقًا. احفظ الملف demo.txt واستخدم موقع الملف demo.txt داخل الدالة open().

myfile = open("demo.txt", "r")
myline = myfile.readline(10)
print(myline)
myfile.close()

الإخراج:

Testing -

إدخال الملف الأساسي في Python

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

بناء الجملة:

open("file path", "mode")

فيما يلي الأوضاع المتاحة التي يمكن استخدامها مع طريقة open():

المعالم الوصف
R سيؤدي هذا إلى فتح () الملف في وضع القراءة.
W باستخدام w، يمكنك الكتابة إلى الملف.
a سيؤدي استخدام مع open() إلى فتح الملف في وضع الكتابة، وسيتم إلحاق المحتويات في النهاية.
rb سيفتح الوضع rb الملف لقراءة البيانات الثنائية.
wb سيفتح وضع wb الملف لكتابة البيانات الثنائية.

وبما أننا بحاجة إلى الملف للقراءة، فإننا سوف نستخدم وضع القراءة، أي (r).

قراءة ملف سطرًا تلو الآخر في Python

يساعد التابع readline()‎ على قراءة سطر واحد فقط في كل مرة، ويقوم بإرجاع السطر الأول من الملف المحدد.

هنا، سوف نستخدم readline() لقراءة جميع الأسطر من الملف المحدد. الملف الذي سيتم قراءته هو demo.txt. محتويات الملف هي:

قم بحفظ الملف demo.txt واستخدم موقع demo.txt داخل الدالة open().

Testing - FirstLine
Testing - SecondLine
Testing - Third Line
Testing - Fourth Line
Testing - Fifth Line

استخدام readline() داخل while-loop سوف يعتني بقراءة جميع الأسطر الموجودة في الملف demo.txt.

myfile = open("demo.txt", "r")
myline = myfile.readline()
while myline:
    print(myline)
    myline = myfile.readline()
myfile.close()   

الإخراج:

Testing - FirstLine
Testing - SecondLine
Testing - Third Line
Testing - Fourth Line
Testing - Fifth Line

كيفية قراءة جميع الأسطر في ملف مرة واحدة؟

لقراءة كافة الأسطر من ملف معين، يمكنك الاستفادة من Python وظيفة قراءة الخطوط (). تخصص Python وظيفة readlines () هي قراءة جميع محتويات الملف المحدد وحفظ الإخراج في القائمة.

تقوم وظيفة readline() بالقراءة حتى نهاية الملف، مع الاستفادة من وظيفة readline() داخليًا وإرجاع قائمة بجميع الأسطر المقروءة من الملف.

إليك مثال عملي لقراءة كافة الأسطر من الملف باستخدام readlines().

الملف الذي سنستخدمه للقراءة هو test.txt. محتويات ملف test.txt هي كما يلي:

test.txt: احفظ الملف test.txt واستخدم موقع test.txt داخل الدالة open().

Line No 1
Line No 2
Line No 3
Line No 4
Line No 5
myfile = open("test.txt", "r")
mylist = myfile.readlines()
print(mylist)
myfile.close()

الإخراج:

['Line No 1\n', 'Line No 2\n', 'Line No 3\n', 'Line No 4\n', 'Line No 5']

كيفية قراءة الملف سطراً تلو الآخر باستخدام الحلقة؟

فيما يلي الخطوات لقراءة سطرًا بسطر من ملف معين باستخدام حلقة for:

الخطوة 1) أولا قم بفتح الملف باستخدام Python وظيفة open() في وضع القراءة.

الخطوة 2) ستعيد الدالة open() معالج الملفات. استخدم معالج الملف داخل حلقة for الخاصة بك واقرأ جميع السطور من الملف المحدد سطرًا تلو الآخر.

الخطوة 3) بمجرد الانتهاء من ذلك، أغلق معالج الملف باستخدام الدالة Close().

فيما يلي مثال عملي لاستخدام حلقة for لقراءة سطرًا تلو الآخر من ملف معين. الملف الذي سنستخدمه هنا هو test.txt.

محتويات test.txt كما هو موضح أدناه. احفظ ملف test.txt واستخدم موقع test.txt داخل دالة open().

Line No 1
Line No 2
Line No 3
Line No 4
Line No 5
myfile = open("test.txt", "r")
for line in myfile:
    print(line)
myfile.close()   

الإخراج:

Line No 1
Line No 2
Line No 3
Line No 4
Line No 5

كيفية قراءة ملف سطرًا تلو الآخر باستخدام حلقة while؟

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

Python تُستخدم الدالة readline()‎ داخل حلقة while لقراءة السطور. في حالة for-loop، تنتهي الحلقة عند مواجهة نهاية الملف. لكن الأمر نفسه ليس هو الحال مع حلقة while، وتحتاج إلى إجراء فحص لمعرفة ما إذا كانت قراءة الملف قد انتهت أم لا. لذا، بمجرد أن تقوم الدالة readline()‎ بإرجاع سلسلة فارغة، يمكنك الاستفادة من عبارة Break للإنهاء من حلقة while.

فيما يلي مثال عملي لقراءة ملف سطرًا تلو الآخر باستخدام حلقة while.

الملف الذي سنستخدمه هو test.txt. احفظ الملف test.txt واستخدم موقع test.txt داخل الدالة open().

Line No 1
Line No 2
Line No 3
Line No 4
Line No 5
myfile = open("test.txt", "r")
while myfile:
    line  = myfile.readline()
    print(line)
    if line == "":
        break
myfile.close() 

الإخراج:

Line No 1
Line No 2
Line No 3
Line No 4
Line No 5

الأسئلة الشائعة

تُرجع سلسلة نصية فارغة. انظرping مع استخدام حلقة while line := f.readline() تتوقف العملية بشكل صحيح عندما تُرجع عملية القراءة سلسلة نصية فارغة، مما يشير إلى نهاية الملف.

نعم. تُقدّم مساعدات الذكاء الاصطناعي مثل Copilot اقتراحات باستخدام عبارات، وتُبدّل سطور القراءة للتكرار، وتكتشف الملفات غير المغلقة. كما تُوضّح مشاكل الترميز وتقترح عمليات إدخال/إخراج غير متزامنة للملفات الكبيرة.

تقوم أدوات الذكاء الاصطناعي بتفسير أخطاء FileNotFoundError و PermissionError و UnicodeDecodeError، ثم تقترح حلولاً مثل الترميزات الصريحة أو المسارات المطلقة أو مديري السياق.

تقرأ الدالة readline سطرًا واحدًا في كل مرة، وتعيد سلسلة نصية. أما الدالة readlines فتقرأ جميع الأسطر دفعة واحدة وتعيد قائمة من السلاسل النصية، مما يستهلك ذاكرة أكبر عند التعامل مع الملفات الكبيرة.

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

استخدم for line in file: بدلاً من readlines. Python يقوم ببث الملف ببطء، احتفظping استخدام الذاكرة منخفض حتى بالنسبة لملفات السجلات التي يبلغ حجمها عدة غيغابايت.

نعم. تضمن عبارة with إغلاق الملف حتى في حالة حدوث استثناء، مما يمنع تسرب الموارد وتلف عمليات الكتابة.

مرر وسيطة التشفير: open('file.txt', encoding='utf-8'). بدونها، Python يستخدم الإعدادات الافتراضية للنظام الأساسي، مما يتسبب في حدوث خطأ UnicodeDecodeError على المحتوى غير ASCII.

تلخيص هذه التدوينة بـ: