مكتبة optparse واهميتها في لغه البايثون Python الدرس |17| - Programmer Tech

Programmer Tech

موقع تعليم مجاني يهتم بتعلم البرمجة و علوم الكمبيوتر, أمن المعلومات, القرصنة الأخلاقية, سكربتات

إعلان اعلى المقالة

الجمعة، 20 مارس 2020

مكتبة optparse واهميتها في لغه البايثون Python الدرس |17|

مكتبة optparse واهميتها في لغه البايثون الدرس |17|

مكتبة optparse

في درسنا اليوم سوف نتحدث عن مكتبة مهمة جداً جداً جداً وهي مكتبة تسمى "optparse" هي تساعدنا بعمل تصميم design للمدخلات inputs الخاصه بالمستخدم.

مثلاً عملنا سكربت خاص في penetration testing اكيد بهذا سوف نحتاج مدخلات لكي نشرح للمستخدم كيفية استخدام هذا السكربت و هذا يكون عبر مكتبة optparse.

مثال
ننشأ ملف على سطح المكتب بإسم script.py.
from optparse import OptionParser
parser = OptionParser ("""
هنا نكتب تعريف للسكربت الخاص بنا مثلا
My Tool is designed for penetration testing
we need the website url and data
      """) 
parser.add_option("-u","--url",dest="target_url",help="target url",deault="https://www.programmer-tech.com")
parser.add_option("-d","--data",dest="target_data",help="target data",deault="my data")
(options,args) = parser.parse_args()
if options.target_url == None and options.target_data == None:
       print (parser.usage)
       exit(0)
else:
      print("{0}:{1}".format(options.target_url,options.target_data))

شرح ما سبق في المثال

اضفنا في مثالنا خيارات options وهي parser الذي عرفّناه مسبقاً و استخدمنا معه الارجيومنت المطلوبة وهي :

الــ  u- هي اختصار لل url المطلوبة من المستخدم.
الــ u-- اذا نريد من المستخدم وضع url كاملاً.
الــ dest نتعامل معه كمتغير.
الــ help للدخول للمساعدة.
الــ default الافتراضي.
الــ d- اختصار ل data.
الــ data-- وضع data كاملة.

نستطيع اضافة خيارات اكثر من اثنان حسب طلبنا ويكون بنفس المضمون السابق, وبعدها حددنا المدخلات args المطلوبة عبر options.args و عينّنا له المدخلات الخاصة في parser وتخزينها كلها في options.args ووضعنا شرط عبر if و عيننا قيم فارغه لـ target data و target url وقلنا له اطبع لنا الاستخدام parser.usage و الخروج من السكربت.
ووضعنا else بحال اذا المستخدم ادخل الخيارات و url مع بعض وقلنا له اطبع لنا القيم كاملة و استخدمنا هنا format شرحناها مسبقاً.

تشغيل السكربت الذي كتبناه سابقاً
عند تشغيل هذا الاسكربت حاليا سوف تكون النتيجة.

https://www.programmer-tech.com :my data

مكتبة optparse واهميتها في لغه البايثون الدرس |17|

نلاحظ انه طبع لنا قيم الـ default

option group

اذا كان لدينا مجموعه خيارات options خاصة بشيئ معين, فيلزم وضع شرح لها وحدها مثل الأدوات الكبيرة يلزم وضع لها اكثر من options وسنستخدم في هذا option group, سوف نعطي import للكل أولاً عبر وضع نجمه *.

مثال
from optparse import *
parser = OptionParser ("""
هنا نكتب تعريف للسكربت الخاص بنا مثلا
My Tool is designed for penetration testing
we need the website url and data
      """) 
parser.add_option("-u","--url",dest="target_url",help="target url",deault="https://www.programmer-tech.com")
parser.add_option("-d","--data",dest="target_data",help="target data",deault="my data")
 #---------Advanced Group
new_group = OptionGroup(parser,"advanced options","some options for advanced usage")
new_group.add_option("-p","--payload",dest="target_payload",help="target payload",default="kaissar")
new_group.add_option("-D","--down",dest="target_download",help="target download",default="nidalDZ")
#-------END ADVANCED GROUP
(options,args) = parser.parse_args()
if options.target_url == None and options.target_data == None:
       print (parser.usage)
       exit(0)
else:
      print("{0}:{1}".format(options.target_url,options.target_data))
      print("{0}:{1}".format(options.target_payload,options.target_download))

لا يحتاج لشرح فهو مفهوم كالمثال السابق.
النتيجة كالتالي سيعرضها 
kaissar:nidalDZ

مكتبة optparse واهميتها في لغه البايثون الدرس |17|

لمزيد من الاستفسارات لا تترددو بسؤالنا بالتعليقات او في قنواتنا

قناتنا التلغرام
https://t.me/Programmer_Tech
المدونة
https://www.programmer-tech.com
صفحة الفيسبوك
https://www.facebook.com/ProgrammerTech.net
قناة اليوتيوب 1:
https://www.youtube.com/ahmadkaissar
قناة اليوتيوب 2:
https://www.youtube.com/MuhammadAlush0997

ليست هناك تعليقات:

إرسال تعليق

facebook

تسميات

تواصل معنا

Translate

أخر الافكار

من انا

authorمبرمجين ويب و محبين للتقنية و الشبكات و امن المعلومات و سوف نقدم لكم الافضل إن شاء الله
أعرف المزيد ←

نموذج الاتصال

الاسم

بريد إلكتروني *

رسالة *

اقسام