ازگر میں کمانڈ لائن پر دلائل کی تجزیہ کیسے کریں۔

How Parse Arguments Command Line Python



کمانڈ لائن دلائل پروگرام پر عملدرآمد کے وقت پروگرام میں ڈیٹا منتقل کرنے کے لیے استعمال ہوتے ہیں۔ یہ خصوصیت زیادہ تر مقبول پروگرامنگ زبانوں پر دستیاب ہے۔ لیکن کمانڈ لائن دلائل کی پروسیسنگ مختلف زبانوں کے لیے مختلف ہے۔ پروگرام چلانے کے وقت پروگرام کے نام کے ساتھ دلائل کی اقدار دی جاتی ہیں۔ ازگر کی زبان اس خصوصیت کی حمایت کرتی ہے۔ ازگر اسکرپٹ میں کمانڈ لائن دلائل کو کس طرح تجزیہ کیا جاتا ہے اس مضمون میں دکھایا گیا ہے۔

کمانڈ لائن دلیل کا استعمال کرتے ہوئے تجزیہ کرنا۔ sys ماڈیول

کمانڈ لائن دلائل کا استعمال کرتے ہوئے فہرست میں محفوظ کیا جاتا ہے۔ sys ماڈیول sys.argv کمانڈ لائن دلائل کی اقدار کو پڑھنے کے لیے استعمال کیا جاتا ہے۔ کمانڈ لائن دلائل کی کل تعداد کو استعمال کرکے شمار کیا جا سکتا ہے۔ لین () فنکشن اس ماڈیول کا استعمال مضمون کے حصے میں بیان کیا گیا ہے۔







مثال 1: دلائل اور دلیل اقدار کی تعداد پڑھنا۔

مندرجہ ذیل ازگر اسکرپٹ کے ساتھ ایک فائل بنائیں۔ یہاں ، کمانڈ لائن دلیل اقدار متغیر میں محفوظ ہیں ، argv دوسری زبانوں کی طرح لین () طریقہ اسکرپٹ پر عمل درآمد کے وقت پاس ہونے والے دلائل کی کل تعداد شمار کرتا ہے۔ دلیل کی اقدار اسکرپٹ کے آخر میں ایک صف کے طور پر چھاپی جاتی ہیں۔



# sys ماڈیول درآمد کریں۔
درآمد sys

# دلائل کی کل تعداد پرنٹ کریں۔
پرنٹ کریں('کل دلائل:'، لین(sys.argv))
پرنٹ کریں('دلیل کی اقدار یہ ہیں:'، p(sys.argv))

آؤٹ پٹ:



مذکورہ اسکرپٹ کو چار کمانڈ لائن دلائل کے ذریعے یہاں پھانسی دی گئی ہے۔ پہلی دلیل اسکرپٹ کا نام ہے اور دیگر عددی اقدار ہیں۔ اسکرپٹ چلانے کے بعد درج ذیل آؤٹ پٹ ظاہر ہوگا۔





مثال 2: لوپ کا استعمال کرتے ہوئے دلیل کی اقدار کو پڑھنا۔



پچھلی مثال میں ، دلیل اقدار کو ایک صف کے طور پر چھاپا جاتا ہے۔ دلیل متغیر کی قسم کو پرنٹ کرنے کے لیے درج ذیل اسکرپٹ کے ساتھ ایک فائل بنائیں اور ہر لائن میں ہر دلیل کی قیمت کو لوپ کے لیے استعمال کرکے پرنٹ کریں۔

# sys ماڈیول درآمد کریں۔
درآمد sys

# متغیر کی قسم ، sys.argv پرنٹ کریں۔
پرنٹ کریں(قسم(sys.argv))

# ہر لائن میں ہر کمانڈ لائن دلیل پرنٹ کریں۔
پرنٹ کریں('کمانڈ لائن دلائل یہ ہیں:')
کے لیےمیںمیں sys.argv:
پرنٹ کریں(میں)

آؤٹ پٹ:

مذکورہ اسکرپٹ کو اسکرپٹ کے نام کے ساتھ تین دلائل فراہم کرکے انجام دیا گیا ہے۔ اسکرپٹ چلانے کے بعد درج ذیل آؤٹ پٹ ظاہر ہوگا۔

getopt ماڈیول کا استعمال کرتے ہوئے کمانڈ لائن دلیل کو پارس کرنا۔

ٹاپڈ۔ ماڈیول کو اختیارات کے ساتھ کمانڈ لائن دلائل کی تجزیہ کے لیے استعمال کیا جاتا ہے۔ سرفہرست () اس ماڈیول کا طریقہ کار دلائل پڑھنے کے لیے استعمال کیا جاتا ہے۔ اس طریقے کے تین دلائل ہیں۔ پہلے دو دلائل لازمی ہیں اور آخری دلیل اختیاری ہے۔ ان دلائل کا استعمال ذیل میں دیا گیا ہے۔

دلائل: اس میں کمانڈ لائن دلیل سے لی گئی دلیل موجود ہے۔

short_option: یہ کوئی بھی خط ہو سکتا ہے جو دلیل کے ساتھ گزر جائے۔

long_option: یہ دو حصوں کے ساتھ طویل اختیارات کی وضاحت کے لیے استعمال ہوتا ہے۔ یہ آپشن نام اور آپشن ویلیو ہیں۔

نحو: getopt.getopt (دلائل ، short_option ، [long_option])

مثال 3: مختصر getopt اختیارات کا استعمال کرتے ہوئے دلیل کی اقدار کو پڑھنا۔

سرفہرست ماڈیول سے زیادہ خصوصیات پر مشتمل ہے۔ sys ماڈیول مندرجہ ذیل مثال سے پتہ چلتا ہے کہ کس طرح مختصر اختیارات استعمال کیے جا سکتے ہیں۔ سرفہرست () طریقہ argv متغیر اسکرپٹ کا نام چھوڑ کر کمانڈ لائن دلائل کو محفوظ کرے گا۔ اگلا ، دو اختیارات کی وضاحت کی گئی ہے سرفہرست () طریقہ کار جو رن ٹائم پر دلیل کے ساتھ استعمال کیا جا سکتا ہے۔ اگر کوئی غلطی ہوتی ہے تو ایک غلطی کا پیغام ظاہر ہوگا۔

# امپورٹ گیٹاپ ماڈیول۔
درآمد سرفہرست

# sys ماڈیول درآمد کریں۔
درآمد sys

# اسکرپٹ نام کو چھوڑ کر اسٹور دلیل متغیر۔
argv= sys.argv[:]

کوشش کریں:
# getopt مختصر اختیارات کی وضاحت کریں۔
اختیارات،دلائل= سرفہرست.سرفہرست(argv، 'x: y:')

# اختیارات اور دلیل پرنٹ کریں۔
پرنٹ کریں(اختیارات)
پرنٹ کریں(دلائل)

سوائے سرفہرست.GetoptError۔:

# اگر غلط آپشن دیا گیا ہو تو غلطی کا پیغام پرنٹ کریں۔
پرنٹ کریں('غلط آپشن دیا گیا ہے')

# اسکرپٹ ختم کریں۔
sys.باہر نکلیں()

آؤٹ پٹ:

اسکرپٹ کو بغیر کسی دلیل کے چلائیں ، صحیح آپشن کے ساتھ دلائل اور غلط آپشن کے ساتھ دلائل۔

مثال 4: مختصر اور طویل getopt اختیارات کا استعمال کرتے ہوئے دلیل کی اقدار کو پڑھنا۔

یہ مثال ظاہر کرتی ہے کہ مختصر اور لمبے دونوں آپشنز کو دلیل کی اقدار کے ساتھ کیسے استعمال کیا جا سکتا ہے۔ اس میں دو نمبر شامل ہوں گے جب۔ 'سے' یا 'شامل کریں' ایک آپشن کے طور پر استعمال کیا جائے گا اور دو نمبروں کو منہا کریں جب ' -س ' یا ' 'سب' رن ٹائم پر ایک آپشن کے طور پر استعمال کیا جائے گا۔

# امپورٹ گیٹاپ ماڈیول۔
درآمد سرفہرست

# sys ماڈیول درآمد کریں۔
درآمد sys

# اسکرپٹ نام کو چھوڑ کر اسٹور دلیل متغیر۔
argv= sys.argv[:]

# نتیجہ متغیر کو شروع کریں۔
نتیجہ=

کوشش کریں:

# مختصر اور طویل اختیارات کی وضاحت کریں۔
اختیارات،دلائل= سرفہرست.سرفہرست(sys.argv[:]، 'a: s'، ['شامل کریں ='،'ذیلی ='])

# لوپ کا استعمال کرتے ہوئے ہر آپشن پڑھیں۔
کے لیےآپٹ،ناراضمیںاختیارات:
# رقم کا حساب لگائیں اگر آپشن -a یا --add ہے۔
اگرآپٹمیں ('سے'، '-شامل کریں'):
نتیجہ= int(argv[])+int(argv[])

# سنٹرکشن کا حساب لگائیں اگر آپشن -s یا --sub ہے۔
ایلفآپٹمیں ('-س'، '-سب'):
نتیجہ= int(argv[])-int(argv[])

پرنٹ کریں('نتیجہ ='،نتیجہ)

سوائے سرفہرست.GetoptError۔:

# اگر غلط آپشن دیا گیا ہو تو غلطی کا پیغام پرنٹ کریں۔
پرنٹ کریں('غلط آپشن دیا گیا ہے')

# اسکرپٹ ختم کریں۔
sys.باہر نکلیں()

آؤٹ پٹ:

اسکرپٹ کو بغیر کسی دلیل اور اختیارات کے چلائیں ، '-a' آپشن کے ساتھ دلائل ، '-s' آپشن کے ساتھ دلائل اور غلط آپشن کے ساتھ دلائل۔

argparse ماڈیول کا استعمال کرتے ہوئے کمانڈ لائن دلیل کو پارس کرنا۔

Argparse ماڈیول کمانڈ لائن دلائل کو پڑھنے کے لیے بہت سارے اختیارات پر مشتمل ہے۔ ڈیفالٹ دلیل کی اقدار ، ڈیٹا کی قسم کے ساتھ دلیل ، پوزیشنل دلائل ، مدد کا پیغام ، وغیرہ اس ماڈیول کے ذریعہ فراہم کیے جا سکتے ہیں۔

مثال 5: argparse کا استعمال کرتے ہوئے کمانڈ لائن دلائل پڑھنا۔

مندرجہ ذیل مثال کے استعمال کو ظاہر کرتا ہے۔ ارگپارس کمانڈ لائن دلیل پڑھنے کے لیے ماڈیول۔ یہاں ، کمانڈ لائن دلائل کو پڑھنے کے لیے دو آپشنز کی وضاحت کی گئی ہے۔ یہ ہیں '-ن' یا 'نام' اور '-e' یا 'mailemail'۔ اگر صارف کوئی غلط دلیل فراہم کرتا ہے تو یہ استعمال کے پیغام کے ساتھ ایک خرابی دکھائے گا۔ اگر صارف دلائل کے ساتھ صحیح اختیارات فراہم کرتا ہے تو یہ دلیل کی اقدار کو ظاہر کرے گا۔ اگر صارف اسکرپٹ کو 'phelp' آپشن کے ساتھ چلاتا ہے تو یہ اسکرپٹ کو چلانے کے لیے ضروری پیغام فراہم کرے گا۔

# آرگپارس ماڈیول درآمد کریں۔
درآمدارگپارس

# sys ماڈیول درآمد کریں۔
درآمد sys

# کمانڈ لائن دلائل کی وضاحت کے لیے فنکشن کا اعلان کریں۔
دفاعپڑھنے کے اختیارات(دلائل=sys.argv[:]):
تجزیہ کار =ارگپارسدلیل پارسر۔(تفصیل=تجزیہ کرنے والے کمانڈ کی فہرستیں۔)
تجزیہ کار.add_argument('-ن'، '-نام'، مدد='اپنا نام ٹائپ کریں۔')
تجزیہ کار.add_argument('اور'، '-ای میل'، مدد='اپنا ای میل ٹائپ کریں۔')
اختیارات= تجزیہ کار.parse_args(دلائل)
واپسیاختیارات

# دلیل کی اقدار کو پڑھنے کے لیے فنکشن کو کال کریں۔
اختیارات=پڑھنے کے اختیارات(sys.argv[:])
پرنٹ کریں(اختیارات.نام)
پرنٹ کریں(اختیارات.ای میل)

آؤٹ پٹ:

اسکرپٹ کو غلط آپشن ، درست آپشن اور ہیلپ آپشن کے ساتھ چلائیں۔

نتیجہ:

کمانڈ لائن دلائل کو پڑھنے کے مختلف طریقے اس ٹیوٹوریل میں تین ازگر کے ماڈیولز کے ذریعے بیان کیے گئے ہیں۔ مجھے امید ہے ، یہ ٹیوٹوریل اس کوڈر کی مدد کرے گا جو ازگر میں کمانڈ لائن دلائل کا استعمال کرتے ہوئے ڈیٹا پڑھنا چاہتا ہے۔

مصنف کی ویڈیو دیکھیں: یہاں