البرمجة

Replace Line in Python File

باستخدام لغة Python، يمكنك بسهولة البحث عن سطر يحتوي على نص معين في ملف ثم استبدال ذلك السطر بسطر جديد. ومن الواضح أنك تواجه مشكلة في الفهرسة والقراءة والكتابة في الملف. دعني أوضح لك الطريقة الصحيحة للقيام بذلك:

أولاً وقبل كل شيء، يجب عليك فتح الملف بوضعية القراءة والكتابة ('r+') لتمكين عملية القراءة والكتابة عليه. وبعد الانتهاء من العمل عليه يجب إغلاقه بشكل صحيح باستخدام الأمر close().

وإليك كيفية تحقيق ذلك:

python
pattern = "Hello" with open('C:/rtemp/output.txt', 'r+') as file: lines = file.readlines() file.seek(0) # إعادة تعيين المؤشر إلى بداية الملف for line in lines: if pattern in line: line = "Hi\n" file.write(line) file.truncate() # قص الملف لحذف المحتوى الزائد إذا كان النص الجديد أقصر من النص القديم

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

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

بعدما قمت بتشغيل الشيفرة، ستجد أن الخطأ الذي واجهته قد تم حله بنجاح، والآن يتم استبدال الأسطر التي تحتوي على النص المحدد بالنص الجديد بنجاح.

لكن دعنا نتفحص بعض النقاط الهامة حول الشيفرة:

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

  2. استخدام readlines() و seek(): بعد قراءة كل الأسطر إلى قائمة باستخدام readlines()، نقوم بإعادة تعيين مؤشر الملف إلى بداية الملف باستخدام seek(0)، حتى نتمكن من الكتابة من البداية.

  3. استخدام truncate(): هذا الأمر يقوم بقص الملف إذا كان النص الجديد أقصر من النص القديم. هذا يمنع ظهور بقايا من النص القديم إذا كان النص الجديد أقصر.

  4. استخدام r+ mode: هذا يتيح لك القراءة والكتابة في الملف في نفس الوقت، مما يسمح لك بتغيير محتوى الملف بناءً على الاحتياجات الخاصة بك.

وبهذا، يمكنك الآن استخدام هذه الشيفرة لتحقيق الهدف الذي ترغب فيه: البحث عن سطر معين في ملف واستبداله بسطر جديد. فإذا كنت بحاجة إلى استبدال أكثر من سطر، يمكنك توسيع الشيفرة لتغطية جميع الحالات التي ترغب فيها.

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

مقالات ذات صلة

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

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر