متغيرات سطر الأوامر في Python

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

معاملات سطر الأوامر في بايثون

هناك العديد من الخيارات لقراءة معاملات سطر الأوامر في بايثون. الثلاثة الأكثر شيوعًا هي:

  1. sys.argv في بايثون
  2. وحدة getopt في بايثون
  3. وحدة argparse في بايثون

لنلقي نظرة على برنامج بسيط لنتعلم كيفية قراءة واستخدام معاملات سطر الأوامر في بايثون.

وحدة sys في بايثون

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

import sys

print(type(sys.argv))
print('The command line arguments are:')
for i in sys.argv:
    print(i)

على الصورة أدناه تظهر نتائج تشغيل عينة من البرنامج أعلاه. هناك العديد من الوظائف الأخرى المفيدة في وحدة sys ، اقرأ عنها بتفصيل على وحدة sys في Python.

وحدة getopt في Python

وحدة getopt في Python تعمل بشكل مشابه تمامًا كوظيفة C getopt() لتحليل معلمات سطر الأوامر. تعد وحدة getopt في Python مفيدة في تحليل وسائط سطر الأوامر حيث نريد من المستخدم إدخال بعض الخيارات أيضًا. دعونا نلقي نظرة على مثال بسيط لفهم ذلك.

import getopt
import sys

argv = sys.argv[1:]
try:
    opts, args = getopt.getopt(argv, 'hm:d', ['help', 'my_file='])
    print(opts)
    print(args)
except getopt.GetoptError:
    # قم بطباعة رسالة أو قم بشيء مفيد
    print('Something went wrong!')
    sys.exit(2)

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

وحدة argparse في Python

وحدة argparse في Python هي الطريقة المفضلة لتحليل وتوزيع وسمات سطر الأوامر. توفر العديد من الخيارات مثل الوسائط الموضعية، القيم الافتراضية للوسائط، رسالة المساعدة، تحديد نوع البيانات للوسيط، وما إلى ذلك. في أبسط شكل لها، يمكننا استخدامها كما يلي.

import argparse

parser = argparse.ArgumentParser()
parser.parse_args()

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

Source:
https://www.digitalocean.com/community/tutorials/python-command-line-arguments