البرمجة

استخراج أسماء الأجهزة باستخدام Python

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

عند استعراض الكود الذي قمت بتوفيره، يبدو أنك تستخدم مكتبة re لتحقيق هذا الهدف. ومع ذلك، هناك بعض الأخطاء في الكود الحالي يمكن تحسينها. على سبيل المثال، يجب أن تكون التعليمة open file مكتوبة بشكل صحيح كـ open_file، وتحتاج إلى تقديم النصوص بين علامات اقتباس في Python 3.

للقيام بذلك بشكل فعّال، يمكنك تحسين الكود كما يلي:

python
ip = input("الرجاء إدخال عنوان IP: ") with open("test.txt") as open_file: for line in open_file: if ip in line: # استخدام التعبير العادي للبحث عن النمط المطلوب في السلسلة النصية match = re.search(r'/ABC-RD0.CLD/(\w+)-V', line) if match: output = match.group(1) print("المخرجات:", output)

في هذا التعديل، تم استخدام re.search للبحث عن النمط المطلوب في كل سطر من النص. النمط r'/ABC-RD0.CLD/(\w+)-V' يستخرج الجزء المحدد من السلسلة ويضعه في متغير output. يمكنك تكرار هذا البرنامج لاستخراج جميع القيم المطلوبة من الملف.

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

بالطبع، دعنا نعمق أكثر في الطريقة التي تم بها تحسين الكود وكيف يعمل. يهدف البرنامج إلى قراءة ملف نصي (test.txt) والبحث عن العنوان IP الذي يدخله المستخدم. عند العثور على العنوان IP في سطر من النص، يتم استخدام التعبير العادي (re.search) للبحث عن نمط محدد داخل هذا السطر.

النمط r'/ABC-RD0.CLD/(\w+)-V' يستخدم \w+ للتعبير عن أي سلسلة متتالية من الأحرف الرقمية والحروف الكبيرة والصغيرة وشرطة السفل. هذا يمثل الجزء الذي تحتاج إليه من النص، وهو ما بين /ABC-RD0.CLD/ و -V. يتم استخدام القوسين لتحديد المجموعة التي تحتوي على هذا الجزء.

عندما يتم العثور على تطابق باستخدام re.search، يتم استخراج الجزء المطلوب باستخدام match.group(1) وتخزينه في متغير output. ثم يتم طباعة هذا الإخراج للمستخدم.

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

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

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

هذا المحتوى محمي من النسخ لمشاركته يرجى استعمال أزرار المشاركة السريعة أو تسخ الرابط !!