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

पायथन में कमांड लाइन तर्क कैसे जोड़ें?

परिचय..

पायथन में एक बहुत शक्तिशाली argparse मॉड्यूल है जो कमांड लाइन तर्कों को पार्स करने के लिए कार्य प्रदान करता है। यदि हम बिना किसी इंटरेक्शन के ओएस कमांड लाइन से उपयोगकर्ता इनपुट प्राप्त करना चाहते हैं या एक प्रोग्राम कोड करना चाहते हैं जो कमांड लाइन से पैरामीटर स्वीकार करता है उदा। पार्स करने के लिए एक URL प्रदान करें या फ़ाइल को S3 बकेट में अपलोड करने के लिए स्वीकार करें, फिर argparse का उपयोग न्यूनतम प्रयास के साथ किया जा सकता है।

मूल उपयोग

  • उन तर्कों को परिभाषित करें जिन्हें आपका कोड स्वीकार करने जा रहा है।

  • परिणाम ऑब्जेक्ट वापस करने के लिए तर्क पार्सर को कॉल करें।

  • तर्कों का प्रयोग करें।

संक्षेप में, तर्क पार्सर की संरचना कुछ इस तरह दिखती है।

def main( parameters):
<< Logic here >>

if __name__ == '__main__':
<< 1. Define argument parser >>
<< 2. Parse the arguements >>
<< 3. Validation >>
<< 4. call main (parameters) >>

मुख्य कार्य जानता है कि हमारे कोड का प्रवेश बिंदु क्या है। कोड को सीधे कॉल करने पर ही __name__ =='__main__' सेक्शन को निष्पादित किया जाता है।

  • एक प्रोग्राम बनाएं जो केवल एक तर्क को स्वीकार करे - टेनिस खिलाड़ी स्ट्रिंग के रूप में।

import argparse

def get_args():
""" Function : get_args
parameters used in .add_argument
1. metavar - Provide a hint to the user about the data type.
- By default, all arguments are strings.

2. type - The actual Python data type
- (note the lack of quotes around str)

3. help - A brief description of the parameter for the usage

"""

parser = argparse.ArgumentParser(
description='Example for Two positional arguments',
formatter_class=argparse.ArgumentDefaultsHelpFormatter)

# Adding our first argument player name of type string
parser.add_argument('player',
metavar='player',
type=str,
help='Tennis Player')

return parser.parse_args()

# define main
def main(player):
print(f" *** The {player} had won 20 grandslam titles.")

if __name__ == '__main__':
args = get_args()
main(args.player)

a) अब जब आप बिना किसी पैरामीटर को पास किए कमांड लाइन से इस प्रोग्राम को निष्पादित करते हैं यानी अगर कुछ भी नहीं दिया जाता है, तो यह प्रोग्राम को लागू करने के उचित तरीके के बारे में एक संक्षिप्त उपयोग विवरण प्रिंट करेगा।

In [3]: run <>.ipynb
usage: ipython [-h] player
ipython: error: the following arguments are required: player
An exception has occurred, use %tb to see the full traceback.

बी) यदि हम एक से अधिक तर्क प्रदान करते हैं, तो यह फिर से शिकायत करता है। कार्यक्रम एक दूसरा तर्क प्राप्त करने की शिकायत करता है जिसे परिभाषित नहीं किया गया है।

ग) केवल जब हम प्रोग्राम को ठीक एक तर्क देते हैं तो वह चलेगा

2. एक प्रोग्राम बनाएं जो केवल दो तर्कों को स्वीकार करेगा - टेनिस खिलाड़ी स्ट्रिंग के रूप में और ग्रैंड स्लैम खिताब खिलाड़ी द्वारा पूर्णांक के रूप में जीते गए।

उदाहरण

import argparse

def get_args():
""" Function : get_args
parameters used in .add_argument
1. metavar - Provide a hint to the user about the data type.
- By default, all arguments are strings.

2. type - The actual Python data type
- (note the lack of quotes around str)

3. help - A brief description of the parameter for the usage

"""

parser = argparse.ArgumentParser(
description='Example for Two positional arguments',
formatter_class=argparse.ArgumentDefaultsHelpFormatter)

# Adding our first argument player name of type string
parser.add_argument('player',
metavar='player',
type=str,
help='Tennis Player')

# Adding our second argument player titles of type integer/number.
parser.add_argument('titles',
metavar='titles',
type=int,
help='Tennis Player Grandslam Titles')

return parser.parse_args()

# define main
def main(player, titles):
print(f" *** The {player} had won {titles} grandslam titles.")

if __name__ == '__main__':
args = get_args()
main(args.player, args.titles)

अब अपना टर्मिनल खोलें और प्रोग्राम को निष्पादित करें। यदि तर्क पारित नहीं होते हैं, तो स्क्रिप्ट स्पष्ट संदेश के साथ त्रुटि को वापस फेंक देती है।

आउटपुट

<<< python test.py
usage: test.py [-h] player titles
test.py: error: the following arguments are required: player, titles

<<< python test.py federer 20
*** The federer had won 20 grandslam titles.

  1. पायथन में चार्ट में किंवदंतियों को कैसे जोड़ें?

    परिचय... चार्ट का मुख्य उद्देश्य डेटा को आसानी से समझना है। एक तस्वीर एक हजार शब्दों के बराबर होती है का अर्थ है जटिल विचार जिन्हें शब्दों में व्यक्त नहीं किया जा सकता है उन्हें एक छवि/चार्ट द्वारा व्यक्त किया जा सकता है। बहुत सारी जानकारी के साथ ग्राफ़ बनाते समय, प्रस्तुत डेटा की समझ को बेहतर बना

  1. विंडोज टर्मिनल में कस्टम कमांड लाइन कैसे जोड़ें

    विंडोज टर्मिनल के साथ, कंपनी सभी कमांड-लाइन आधारित उपयोगिताओं को एक यूडब्ल्यूपी शेल के तहत लाने की कोशिश कर रही है। आउट ऑफ द बॉक्स, इसमें विंडोज पॉवरशेल और विंडोज कमांड प्रॉम्प्ट शामिल हैं - लेकिन अगर कोई चाहता है, तो वे एक और कमांड-लाइन टूल भी शामिल कर सकते हैं। इसमें Git Bash, WSL कमांड लाइन, एनाक

  1. पायथन में पथ कैसे जोड़ें?

    पायथन एक प्रोग्रामिंग भाषा है जिसे पहली बार 1991 में जारी किया गया था। इसमें एक ऐसा एप्लिकेशन है जिसका उपयोग कई ऑपरेटिंग सिस्टम पर किया जा सकता है और डेवलपर्स इस पर नया कोड लिख और विकसित कर सकते हैं। पायथन सबसे व्यापक रूप से उपयोग की जाने वाली प्रोग्रामिंग भाषाओं में से एक है, क्योंकि इसमें डेवलपर औ