واحدة من أكثر المهام شيوعا في برمجة بايثون هي قراءة عدة أسطر من لوحة المفاتيح أو من ملف. تحدث هذه المهمة ، على سبيل المثال ، عند قراءة الملفات النصية أو معالجة إدخال المستخدم أو تحليل البيانات الضخمة.
في هذه المقالة ، سنتحدث عن طرق بسيطة وفعالة لقراءة أسطر متعددة في بايثون. سننظر في عدة طرق ، بدءا من أبسطها وتنتهي بأساليب أكثر تعقيدا ولكنها أكثر فعالية.
للتكرار من خلال الخطوط. في كل تكرار ، يمكننا حساب صف واحد وإضافته إلى قائمة أو بنية بيانات أخرى لمزيد من المعالجة.
على سبيل المثال ، إذا أردنا حساب 5 أسطر ، فيمكننا استخدام الكود التالي:
خطوط = []
لأني في النطاق (5):
الخط = الإدخال ("أدخل سطرا:")
خطوط.إلحاق (خط)
تحتوي على 5 خطوط قراءة.
- ما هي قراءة السلسلة في بايثون?
- الطريقة 1
- باستخدام حلقة
- الطريقة 2
- استخدام إدراج القائمة
- الطريقة 3
- باستخدام المولد
- الطريقة 4
- باستخدام وظيفة القراءة()
- سؤال وجواب
- كيف يمكنني قراءة عدة أسطر من ملف في بيثون?
- هل من الممكن قراءة عدد معين فقط من الأسطر من ملف?
- كيف يمكنني قراءة سلاسل من ملف دون استخدام` ريدلاينز () ' وظيفة?
ما هي قراءة السلسلة في بايثون?
قراءة السلاسل في بيثون هي عملية الحصول على البيانات من ملف أو إدخال المستخدم ، وهو سلسلة من الأحرف. لدى بايثون عدة طرق لقراءة السلاسل ، اعتمادا على مصدر البيانات.
واحدة من أسهل الطرق لقراءة السلاسل هي استخدام وظيفة الإدخال (). يسمح لك بالحصول على سلسلة من لوحة المفاتيح وحفظها في متغير. على سبيل المثال:
الاسم = الإدخال ("أدخل اسمك:")
طباعة (اسم" مرحبا")
طريقة أخرى شائعة لقراءة السلاسل هي قراءة ملف. للقيام بذلك ، يمكنك استخدام الوظيفة المفتوحة() مع طرق قراءة الملفات. على سبيل المثال:
مع فتح ("ملف.النص " ، "ص" ) كما و:
خط = و. قراءة()
طباعة (خط)
في هذا المثال ، نفتح الملف " ملف.النص"في وضع القراءة ("ص") وقراءة السطر الأول باستخدام طريقة القراءة (). ثم نقوم بطباعة هذا الخط على الشاشة باستخدام وظيفة الطباعة ().
توفر بايثون أيضا طرقا لقراءة أسطر متعددة من ملف ، مثل خطوط القراءة() وقراءة(). تقوم طريقة القراءة() بإرجاع قائمة الأسطر المقروءة من الملف ، وتقوم طريقة القراءة() بإرجاع سطر واحد يحتوي على نص الملف بالكامل.
إذا كنت بحاجة إلى قراءة الأسطر من سطر ملف بسطر ، فيمكنك استخدام ملف ... في ... بناء ، كما هو موضح في المثال التالي:
مع فتح ("ملف.النص " ، "ص" ) كما و:
للخط في و:
طباعة (خط)
في هذا المثال ، نكرر من خلال خطوط الملف ، ونخصص كل سطر لمتغير الخط ، ثم نخرجه إلى الشاشة.
بشكل عام ، تعد قراءة السلاسل في بايثون عملية مهمة تتيح لك الحصول على البيانات من مصادر مختلفة ومعالجتها باستخدام طرق ووظائف مختلفة.
الطريقة 1
.
1. قم بإنشاء قائمة فارغة ستتم إضافة بضعة أسطر إليها فقط.
لقراءة الأسطر حتى يتم إدخال سطر فارغ.
.
4. عندما يدخل المستخدم سلسلة فارغة ، ستتوقف الحلقة عن التنفيذ ، وستكون القائمة التي تحتوي على سلاسل القراءة جاهزة.
يوجد أدناه رمز مثال:
سلاسل = [] # إنشاء قائمة فارغة
بينما صحيح: # حلقة ، أعدم بلا حدود
الجملة = الإدخال ('أدخل سطر (أو ترك واحدة فارغة للخروج):')
إذا الجملة ==": # إذا تم إدخال سطر فارغ
كسر # الخروج من الحلقة
سلاسل.إلحاق (جملة) # إضافة سلسلة إلى القائمة
طباعة ('الخطوط المدخلة:' ، سلاسل) # إخراج قائمة مع سلاسل القراءة
بعد إدخال سطر فارغ ، سينتهي الإدخال ، وستتم مقاطعة الدورة وسيتم عرض قائمة بجميع الأسطر المدخلة على الشاشة.
باستخدام حلقة
يمكنك استخدام حلقة لحساب خطوط متعددة في بيثون. تسمح لك الحلقة بتكرار تنفيذ كتلة معينة من التعليمات البرمجية لعدد محدد من المرات أو حتى يتم استيفاء شرط معين.
باستخدام حلقة ، يمكنك الذهاب من خلال جميع الصفوف في القائمة وتنفيذ العمليات اللازمة مع كل واحد منهم. دعونا ننظر إلى مثال:
سلاسل = ['خط 1' ، 'خط 2' ، 'خط 3']
لسلسلة في سلاسل:
طباعة (سلسلة)
في هذا المثال ، يتم إنشاء قائمة سلاسل تحتوي على ثلاث سلاسل. تمر الحلقة عبر كل عنصر من عناصر قائمة السلاسل وتخرجه إلى الشاشة باستخدام وظيفة الطباعة (). ستكون نتيجة تنفيذ البرنامج كما يلي:
السطر 1
السطر 2
السطر 3
وبالتالي ، باستخدام حلقة ، يمكنك بسهولة المرور عبر جميع الخطوط وإجراء العمليات اللازمة معهم.
الطريقة 2
هناك طريقة أخرى لقراءة أسطر متعددة في بايثون وهي استخدام وظيفة الإدخال() في حلقة. تسمح هذه الطريقة للمستخدم بإدخال عدد عشوائي من الأسطر وحفظها في قائمة. نموذج التعليمات البرمجية:
خطوط = []
بينما صحيح:
الخط = الإدخال()
إذا خط:
خطوط.إلحاق (خط)
آخر:
استراحة
ينشئ هذا الرمز قائمة فارغة من الأسطر. ثم ، في حلقة لا نهائية ، يدخل المستخدم سلسلة من الخطوط. إذا قام المستخدم بإدخال سلسلة غير فارغة ، فسيتم إضافتها إلى قائمة الأسطر. إذا قام المستخدم بإدخال سلسلة فارغة ، تتم مقاطعة الحلقة باستخدام أمر الفاصل.
بعد تنفيذ الكود ، ستحتوي قائمة الأسطر على جميع الأسطر التي أدخلها المستخدم.
هذه الطريقة ملائمة عندما تحتاج إلى حساب عدد غير معروف من الأسطر ، ويمكن أن يكون عدد أسطر إكمال الإدخال تعسفيا.
يوجد أدناه مثال على الكود الذي يخرج جميع الأسطر التي أدخلها المستخدم:
للخط في الخطوط:
طباعة (خط)
في هذا الرمز ، باستخدام الحلقة ، يتم عرض كل سطر من قائمة الأسطر بدوره باستخدام وظيفة الطباعة ().
باستخدام هذه الطريقة ، يمكنك قراءة ومعالجة كميات كبيرة من البيانات النصية ، مثل ملفات السجل أو الجداول بتنسيق كسف.
استخدام إدراج القائمة
طريقة واحدة لقراءة خطوط متعددة في بيثون هو استخدام إدراج القائمة. يعد تضمين القائمة طريقة مدمجة وفعالة لإنشاء قائمة جديدة أو تعديل قائمة موجودة بناء على قائمة أو تسلسل آخر.
داخل تعبير القائمة.
مثال:
"'بايثون
السطور = [الإدخال () لـ _ في النطاق (ن)]
"`
.
إدراج قائمة يسمح لنا لإنشاء قائمة من السلاسل من إدخال المستخدم في سطر واحد من التعليمات البرمجية ، مما يجعلها وسيلة مريحة جدا وسريعة لقراءة خطوط متعددة في بيثون.
يمكننا أيضا استخدام شوائب القائمة لإجراء عمليات إضافية على السلاسل ، على سبيل المثال ، إزالة مسافات إضافية أو تحويل السلاسل إلى أعداد صحيحة:
"'بايثون
خطوط = [الإدخال ().قطاع () ل _ في النطاق (ن)]
"`
لإزالة مسافات إضافية من كل سطر تم إدخاله قبل إضافته إلى القائمة.
الآن أنت تعرف كيفية استخدام إدراج قائمة لقراءة خطوط متعددة في بيثون. بل هو وسيلة بسيطة وفعالة للحد من كمية من التعليمات البرمجية وزيادة سهولة القراءة.
الطريقة 3
الطريقة 3: باستخدام حلقة وطرق سلسلة مدمجة.
طريقة أخرى بسيطة وفعالة لحساب عدد السلاسل في بيثون هي استخدام حلقة وطرق سلسلة مدمجة. يمكن أن تكون هذه الطريقة مفيدة إذا كان لديك قائمة بالسلاسل التي يجب عدها.
أولا ، دعنا ننشئ قائمة بالسلاسل:
خطوط الكود = [
"صفر حساب (أ ، ب):",
"العودة أ + ب",
"",
"طباعة (حساب المجموع (3 ، 4))"
]
لتقسيم كل صف إلى عناصر منفصلة:
خط_عد = 0
للخط في خطوط الكود:
خط العد + = خط.خطوط الانقسام () [0]
طباعة (و " عدد الأسطر: {عدد الأسطر}")
نتيجة لذلك ، سيكون الناتج:
عدد الخطوط: 4
. في النهاية ، نقوم بإخراج العدد الإجمالي للصفوف.
هذه الطريقة مفيدة بشكل خاص عندما يكون لديك قدر كبير من النص لمعالجته. يسمح لك بتقسيم الخطوط بسهولة وحساب عددها تلقائيا.
باستخدام المولد
طريقة أخرى فعالة لقراءة أسطر متعددة في بايثون هي استخدام مولد. تسمح لك المولدات بإنشاء كائنات قابلة للتكرار دون تخصيص ذاكرة لتخزين جميع العناصر.
لإنشاء مولد في بيثون ، يتم استخدام الكلمة الرئيسية العائد. انها تسمح لك لإرجاع قيمة وتعليق تنفيذ وظيفة ، وتوفير جميع المتغيرات المحلية. في المكالمة التالية ، يستمر المولد في التنفيذ من حيث توقف.
مثال على استخدام مولد لقراءة أسطر متعددة:
# التعريف
من ديف قراءة الخطوط () مولد:
# افتح الملف
مع فتح ('ملف.النص ' ، 'ص') كملف:
# نقرأ سطر الملف بسطر ونعيد كل سطر
للخط في الملف:
خط العائد.قطاع()
# باستخدام المولد
للخط في خطوط القراءة():
طباعة (خط)
في هذا المثال ، يتم إنشاء منشئ خطوط القراءة الذي يفتح الملف ويقرأه سطرا بسطر. يتم إرجاع كل صف باستخدام الكلمة الرئيسية العائد. بعد ذلك ، عند استخدام المولد في حلقة ، يمكننا الحصول على كل سطر بالتسلسل من الملف وعرضه على الشاشة.
يتيح لك استخدام المولد حفظ الذاكرة ، لأنه عند قراءة ملف كبير ، لا تحتاج إلى تخزين جميع الأسطر في الذاكرة. يقوم المولد بإخراج القيم فقط حسب الحاجة.
مزايا استخدام المولد:
- حفظ الذاكرة
- حساب كسول للقيم
- يسمح لك بمعالجة التسلسلات اللانهائية
يعد استخدام المولد أداة ملائمة عند العمل بكميات كبيرة من البيانات أو المواقف التي تحتاج فيها البيانات إلى المعالجة تدريجيا عند استلامها.
الطريقة 4
طريقة أخرى بسيطة وفعالة لقراءة أسطر متعددة في بايثون هي استخدام طريقة القراءة (). على عكس الطرق السابقة ، تقرأ الخطوط () جميع الأسطر من الملف وتعيدها كقائمة من الأسطر.
لاستخدام هذه الطريقة ، تحتاج إلى فتح الملف باستخدام وظيفة فتح () ، وتمرير اسم الملف ووضع القراءة "ص". ثم استدعاء طريقة القراءة () للملف المفتوح:
ملف = فتح ("ملف.النص " ، "ص")
خطوط = ملف.قراءة الخطوط()
ملف.إغلاق()
نتيجة لهذا الرمز ، سيحتوي متغير الأسطر على قائمة من الأسطر ، كل منها عبارة عن سطر منفصل عن الملف.
مثال على استخدام طريقة القراءة () لقراءة أسطر متعددة من ملف "ملف.النص ":
ملف = فتح ("ملف.النص " ، "ص")
خطوط = ملف.قراءة الخطوط()
ملف.إغلاق()
للخط في الخطوط:
طباعة (خط.قطاع())
يقرأ هذا الرمز جميع الأسطر من الملف " ملف.النص " ويعرضها على الشاشة ، وإزالة أحرف المسافات البيضاء في بداية ونهاية السطر باستخدام طريقة الشريط ().
يعد استخدام طريقة القراءة () مناسبا إذا كنت بحاجة إلى معالجة عدة أسطر من ملف ، على سبيل المثال ، لإجراء قراءة سطر بسطر أو كتابة البيانات.
باستخدام وظيفة القراءة()
وظيفة ريدلاينز () هي واحدة من أبسط الطرق وأكثرها فعالية لقراءة خطوط متعددة في بيثون. يسمح لك بقراءة جميع الأسطر من ملف إلى قائمة. بناء الجملة هو كما يلي:
ملف.قراءة الخطوط()
هو متغير يحتوي على كائن ملف مفتوح للقراءة.
تقرأ وظيفة القراءة() جميع الأسطر من الملف وتعيدها كقائمة ، حيث يمثل كل عنصر قائمة سطرا منفصلا.
مثال على استخدام دالة القراءة() :
ملف = فتح ("ملف.النص " ، "ص")
خطوط = ملف.قراءة الخطوط()
ملف.إغلاق()
طباعة (خطوط)
. ثم يتم إغلاق الملف باستخدام طريقة الإغلاق (). أخيرا ، يتم عرض قائمة السلاسل باستخدام وظيفة الطباعة ().
باستخدام وظيفة القراءة () ، يمكنك بسهولة معالجة محتويات الملف وتحليلها. على سبيل المثال ، يمكنك استخدام حلقة للتكرار عبر جميع أسطر الملف:
ملف = فتح ("ملف.النص " ، "ص")
خطوط = ملف.قراءة الخطوط()
ملف.إغلاق()
للخط في الخطوط:
طباعة (خط)
تتيح لك هذه الحلقة معالجة كل سطر من الملف بدوره. على سبيل المثال ، يمكنك إجراء بعض العمليات مع كل صف أو التحقق من شروط صفوف معينة.
تسمح لك وظيفة القراءة () أيضا بقراءة الأسطر من ملف بترتيب عكسي. للقيام بذلك ، استخدم الطريقة العكسية() في قائمة سطور القراءة:
ملف = فتح ("ملف.النص " ، "ص")
خطوط = ملف.قراءة الخطوط()
ملف.إغلاق()
خطوط.عكس()
للخط في الخطوط:
طباعة (خط)
في هذا المثال ، عكس() طريقة عكس ترتيب العناصر في القائمة ، ثم يتم عرض كل صف في ترتيب عكسي.
باستخدام وظيفة ريدلاينز () يجعل من السهل قراءة ومعالجة خطوط متعددة في بيثون. هذه الطريقة مفيدة عند العمل مع الملفات النصية حيث تحتاج إلى قراءة أو تحليل المحتويات سطرا بسطر.
سؤال وجواب
كيف يمكنني قراءة عدة أسطر من ملف في بيثون?
لقراءة عدة أسطر من ملف في بيثون ، يمكنك استخدام وظيفة `ريدلاينز ()`. يقرأ جميع الأسطر من الملف ويعيدها كقائمة. مثال على استخدام الوظيفة `" مع فتح ("ملف.النص" ، "ص") كملف: خطوط = ملف.قراءة الخطوط ()`.
هل من الممكن قراءة عدد معين فقط من الأسطر من ملف?
نعم ، يمكنك. عند استخدام وظيفة` ريدلينس () ' ، يمكنك تحديد عدد الأسطر المراد قراءتها. على سبيل المثال ، إذا كنت بحاجة إلى قراءة أول 5 أسطر فقط من ملف ، فيمكنك كتابة الكود التالي:"مع فتح ("ملف.النص" ، "ص") كملف: خطوط = ملف.قراءة الخطوط (5)`.
كيف يمكنني قراءة خطوط من ملف دون استخدام` ريدلاينز () ' وظيفة?
إذا كنت لا تريد استخدام وظيفة `ريدلاينز ()` ، يمكنك قراءة خطوط من ملف واحد في وقت واحد. للقيام بذلك ، يمكنك استخدام` ل ' حلقة. مثال `" مع فتح ("ملف.النص " ، "ص") كملف: للخط في الملف: طباعة (خط)`.