Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन में तर्क पार्सिंग

प्रत्येक प्रोग्रामिंग भाषा में स्क्रिप्ट बनाने और उन्हें टर्मिनल से चलाने या अन्य कार्यक्रमों द्वारा बुलाए जाने की सुविधा होती है। ऐसी स्क्रिप्ट चलाते समय हमें अक्सर स्क्रिप्ट के भीतर निष्पादित किए जाने वाले विभिन्न कार्यों के लिए स्क्रिप्ट द्वारा आवश्यक तर्कों को पारित करने की आवश्यकता होती है। इस लेख में हम देखेंगे कि पायथन लिपि में तर्कों को पारित करने के विभिन्न तरीके क्या हैं।

sys.argv का उपयोग करना

यह एक इनबिल्ट मॉड्यूल है sys.argv उन तर्कों को संसाधित कर सकता है जो स्क्रिप्ट के साथ पारित किए जाते हैं। डिफ़ॉल्ट रूप से पहला तर्क जिसे sys.argv[0] पर माना जाता है, वह फ़ाइल नाम है। शेष तर्कों को 1,2 और इसी तरह अनुक्रमित किया जाता है। नीचे दिए गए उदाहरण में हम देखते हैं कि कैसे एक स्क्रिप्ट उस पर दिए गए तर्कों का उपयोग करती है।

import sys
print(sys.argv[0])
print("Hello ",sys.argv[1],", welcome!")

हम उपरोक्त स्क्रिप्ट को चलाने और निम्नलिखित परिणाम प्राप्त करने के लिए नीचे दिए गए कदम उठाते हैं:

उपरोक्त कोड को चलाने के लिए हम टर्मिनल विंडो पर जाते हैं और नीचे दिखाए गए कमांड को लिखते हैं। यहाँ स्क्रिप्ट का नाम args_demo.py है। हम इस स्क्रिप्ट के लिए मान सामंथा के साथ एक तर्क देते हैं।

D:\Pythons\py3projects>python3 args_demo.py Samantha
args_demo.py
Hello Samantha welcome!

गेटटॉप का उपयोग करना

यह एक और दृष्टिकोण है जिसमें पिछले वाले की तुलना में अधिक लचीलापन है। यहां हम तर्कों के मूल्य को इकट्ठा कर सकते हैं और उन्हें त्रुटि प्रबंधन और अपवादों के साथ संसाधित कर सकते हैं। नीचे दिए गए कार्यक्रम में हम तर्कों को लेकर और पहले तर्क को छोड़ कर दो संख्याओं का गुणनफल पाते हैं जो कि फ़ाइल का नाम है। बेशक यहां sys मॉड्यूल का भी उपयोग किया जाता है।

उदाहरण

import getopt
import sys

# Remove the first argument( the filename)
all_args = sys.argv[1:]
prod = 1

try:
   # Gather the arguments
   opts, arg = getopt.getopt(all_args, 'x:y:')
   # Should have exactly two options
   if len(opts) != 2:
      print ('usage: args_demo.py -x <first_value> -b <second_value>')
   else:
      # Iterate over the options and values
      for opt, arg_val in opts:
         prod *= int(arg_val)
      print('Product of the two numbers is {}'.format(prod))

except getopt.GetoptError:
   print ('usage: args_demo.py -a <first_value> -b <second_value>')
   sys.exit(2)

आउटपुट

उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -

D:\Pythons\py3projects >python3 args_demo.py -x 3 -y 12
Product of the two numbers is 36
# Next Run
D:\Pythons\py3projects >python3 args_demo.py
usage: args_demo.py -x <first_value> -b <second_value>

आर्गपार्स का उपयोग करना

यह वास्तव में तर्क पारित करने के लिए सबसे पसंदीदा मॉड्यूल है क्योंकि त्रुटियों और अपवादों को कोड की अतिरिक्त पंक्तियों की आवश्यकता के बिना मॉड्यूल द्वारा ही नियंत्रित किया जाता है। हमें प्रत्येक तर्क के लिए आवश्यक नाम हेल्प टेक्स्ट का उल्लेख करना होगा और फिर कोड के अन्य भागों में तर्क के नाम का उपयोग करना होगा।

उदाहरण

import argparse

# Construct an argument parser
all_args = argparse.ArgumentParser()

# Add arguments to the parser
all_args.add_argument("-x", "--Value1", required=True,
   help="first Value")
all_args.add_argument("-y", "--Value2", required=True,
   help="second Value")
args = vars(all_args.parse_args())

# Find the product
print("Product is {}".format(int(args['Value1']) * int(args['Value2'])))

आउटपुट

उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -

D:\Pythons\py3projects>python3 args_demo.py -x 3 -y 21
Product is 63
# Next Run
D:\Pythons\py3projects>python3 args_demo.py -x 3 -y
usage: args_demo.py [-h] -x VALUE1 -y VALUE2
args_demo.py: error: argument -y/--Value2: expected one argument

  1. पायथन में एक्सएमएल पार्सिंग?

    पायथन एक्सएमएल पार्सर पार्सर एक्सएमएल फाइल से उपयोगी जानकारी को पढ़ने और निकालने का सबसे आसान तरीका प्रदान करता है। इस संक्षिप्त ट्यूटोरियल में हम यह देखने जा रहे हैं कि कैसे हम XML फ़ाइल को पार्स कर सकते हैं, संशोधित कर सकते हैं और अजगर ElementTree XML API का उपयोग करके XML दस्तावेज़ बना सकते हैं।

  1. कैसे अजगर में एक अपवाद के लिए तर्क पारित करने के लिए?

    अपवाद में एक तर्क हो सकता है, जो एक ऐसा मान है जो समस्या के बारे में अतिरिक्त जानकारी देता है। तर्क की सामग्री अपवाद से अपवाद में भिन्न होती है। आप अपवाद के तर्क को अपवाद खंड में एक चर की आपूर्ति करके निम्नानुसार कैप्चर करते हैं उदाहरण try: b=float(56+78/0) except Exception, Argument: print 'Thi

  1. फ़ंक्शन तर्क के रूप में पायथन फ़ंक्शन को कैसे पास करें?

    पायथन निम्नलिखित विधि को लागू करता है जहां पहला पैरामीटर एक फ़ंक्शन है - map(function, iterable, ...) - चलने योग्य के प्रत्येक आइटम पर फ़ंक्शन लागू करें और परिणामों की एक सूची लौटाएं। हम कस्टम फ़ंक्शंस भी लिख सकते हैं जहाँ हम एक फ़ंक्शन को एक तर्क के रूप में पास कर सकते हैं। हम मानचित्र विधि का उप