कमांड लाइन तर्क
कमांड लाइन तर्क इनपुट पैरामीटर हैं जो उपयोगकर्ता को एक निश्चित तरीके से कार्य करने के लिए प्रोग्राम को सक्षम करने की अनुमति देते हैं- अतिरिक्त जानकारी आउटपुट करने के लिए, या किसी निर्दिष्ट स्रोत से डेटा पढ़ने के लिए या वांछित प्रारूप में डेटा की व्याख्या करने के लिए।
पायथन कमांड लाइन तर्क
कमांड लाइन तर्कों को पढ़ने के लिए पायथन कई विकल्प प्रदान करता है। सबसे आम तरीके हैं -
- पायथन sys.argv
- पायथन गेटोप्ट मॉड्यूल
- पायथन argparse मॉड्यूल
पायथन sys मॉड्यूल
sys मॉड्यूल कमांड लाइन तर्क (CLA) को एक सूची में संग्रहीत करता है और इसे पुनः प्राप्त करने के लिए, हम sys.argv का उपयोग करते हैं। यह कमांड लाइन तर्कों को स्ट्रिंग के रूप में पढ़ने का एक आसान तरीका है।
import sysprint(type(sys.argv))print('Command लाइन तर्क हैं:') for i in sys.argv:print(i)
एक प्रोग्राम के ऊपर चल रहा है, हमारा आउटपुट कुछ इस तरह होगा -
आउटपुट
>पायथन CommandLineOption.py एच ई एल एल ओ<वर्ग 'सूची'>कमांड लाइन तर्क हैं:CommandLineOption.pyHELLO
पायथन गेटोप्ट मॉड्यूल
पायथन गेटोप्ट मॉड्यूल sys.argv जैसे तर्क अनुक्रम को पार्स करता है और विकल्प और तर्क जोड़े का अनुक्रम और गैर-विकल्प तर्कों का अनुक्रम देता है।
सिंटैक्स
getopt.getopt(args, options, [long_options])
कहा पे:
-
आर्ग - तर्क सूची को पार्स किया जाना है
-
विकल्प - यह विकल्प अक्षरों की स्ट्रिंग है जिसे स्क्रिप्ट पहचानना चाहती है।
-
Long_options - यह एक वैकल्पिक पैरामीटर है, लंबे विकल्पों के नाम के साथ स्ट्रिंग्स की एक सूची है, जिसका समर्थन किया जाना चाहिए।
getopt मॉड्यूल विकल्प सिंटैक्स में शामिल हैं -
- -a
- -बवाल
- -बी वैल
- --noarg
- --witharg=val
- --witharg वैल
आइए एक उदाहरण के माध्यम से getopt मॉड्यूल को समझते हैं -
संक्षिप्त फ़ॉर्म विकल्प
प्रोग्राम के नीचे दो विकल्प हैं, -ए और -बी दूसरे विकल्प के साथ तर्क की आवश्यकता है।
getoptprint आयात करें (getopt.getopt(['-a', '-bval', '-c', 'val'], 'ab:c:'))
परिणाम
([('-a', ''), ('-b', 'val'), ('-c', 'val')], [])
लांग फॉर्म विकल्प
कार्यक्रम में दो विकल्प होते हैं, --noarg और –witharg और अनुक्रम ['noarg', 'witharg=']
होना चाहिए आयात करें witharg2=' ]))परिणाम
([('--noarg', ''), ('--witharg', 'val'), ('--witharg2','another')], [])
जियोप्ट मॉड्यूल के उपयोग को प्रदर्शित करने के लिए एक और उदाहरण -
आयात करें ) getopt.GetoptError को छोड़कर:प्रिंट ('कुछ गलत है!') sys.exit(2)परिणाम
>पायथन CommandLineOption.py -m 2 -h "हेल्प" एच ई एल एल ओ[('-m', '2'), ('-h', '')]['Help', 'H', 'E ', 'एल', 'एल', 'ओ']
पायथन argparse मॉड्यूल
कमांड लाइन तर्कों को पार्स करने के लिए पायथन argparse मॉड्यूल पसंदीदा तरीका है। यह मॉड्यूल कई विकल्प प्रदान करता है जैसे स्थितीय तर्क, तर्कों के लिए डिफ़ॉल्ट मान, सहायता संदेश, डेटा प्रकार का तर्क निर्दिष्ट करना आदि।
Argparse मॉड्यूल को समझने के लिए नीचे एक सरल प्रोग्राम है -
आयात करें जिस तरह से तर्क में हेरफेर किया जा सकता है।आउटपुट
>पायथन CommandLineOption.py "हैलो, पायथन"हेलो, पायथन
हम -verbosity जैसे argparse मॉड्यूल के साथ वैकल्पिक तर्क सेट कर सकते हैं।