Python में कमांड लाइन आर्गुमेंट्स की मूल बातें
कमांड लाइन आर्गुमेंट्स के साथ काम करना Python में लचीली और उपयोगी स्क्रिप्ट बनाने के लिए एक बुनियादी कौशल है। कोड में डेटा को हार्ड-कोड करने के बजाय, डेवलपर्स प्रोग्राम चलाते समय सीधे पैरामीटर पास कर सकते हैं। Python में इसके लिए सबसे ज़्यादा argparse मॉड्यूल का उपयोग किया जाता है, जो स्टैंडर्ड लाइब्रेरी का हिस्सा है और आर्गुमेंट्स को संभालने के लिए शक्तिशाली सुविधाएँ प्रदान करता है।
कमांड लाइन आर्गुमेंट्स के फायदे
Python में कमांड लाइन आर्गुमेंट्स का उपयोग करने से डेवलपर्स को कई लाभ मिलते हैं:
- सोर्स कोड बदले बिना प्रोग्राम के व्यवहार को बदलने की क्षमता
- कोड में बदलाव किए बिना प्रोग्राम को नियंत्रित करना
- टास्क ऑटोमेशन और CLI टूल्स बनाने में आसानी
- पाइपलाइन और CI/CD प्रक्रियाओं में स्क्रिप्ट का आसान एकीकरण
- विभिन्न पैरामीटर्स के साथ प्रोग्राम का परीक्षण सरल बनाना
कमांड लाइन आर्गुमेंट्स वाले प्रोग्राम के उदाहरण
कई लोकप्रिय टूल्स कमांड लाइन आर्गुमेंट्स का सक्रिय रूप से उपयोग करते हैं:
- पैकेज इंस्टॉलर (pip, apt, yarn)
- फ़ाइल मैनेजमेंट टूल्स (tar, zip, rsync)
- बिल्ड सिस्टम (make, cmake, gradle)
- डेवलपमेंट टूल्स (git, docker, kubectl)
- वर्कफ़्लो ऑटोमेशन के लिए खुद की स्क्रिप्ट
argparse मॉड्यूल को इम्पोर्ट और सेटअप करना
argparse मॉड्यूल Python 2.7 और 3.2 से स्टैंडर्ड लाइब्रेरी में शामिल है। इसका उपयोग करने के लिए अतिरिक्त पैकेज इंस्टॉल करने की ज़रूरत नहीं है।
import argparse
बेसिक पार्सर बनाना
आर्गुमेंट्स के साथ काम शुरू करने के लिए, ArgumentParser क्लास का एक इंस्टेंस बनाएँ:
parser = argparse.ArgumentParser(description="प्रोग्राम का विवरण")
argparse का पहला उदाहरण
एक सरल स्क्रिप्ट देखें जो उपयोगकर्ता का नाम लेती है और व्यक्तिगत अभिवादन प्रिंट करती है:
import argparse
parser = argparse.ArgumentParser(description="सरल अभिवादन प्रोग्राम")
parser.add_argument("name", help="उपयोगकर्ता का नाम")
args = parser.parse_args()
print(f"नमस्ते, {args.name}!")
स्क्रिप्ट को इस प्रकार चलाएँ:
python script.py राहुल
आउटपुट:
नमस्ते, राहुल!
argparse में आर्गुमेंट के प्रकार
अनिवार्य आर्गुमेंट्स
अनिवार्य आर्गुमेंट्स वे पैरामीटर हैं जिनके बिना प्रोग्राम नहीं चल सकता। इन्हें बिना किसी प्रीफ़िक्स के परिभाषित किया जाता है और उपयोगकर्ता को इन्हें देना अनिवार्य होता है।
parser.add_argument("filename", help="प्रोसेस करने के लिए फ़ाइल का नाम")
parser.add_argument("output_dir", help="परिणाम सहेजने के लिए डायरेक्टरी")
वैकल्पिक आर्गुमेंट्स
वैकल्पिक आर्गुमेंट्स आमतौर पर एक डैश (-) से छोटे रूप में या डबल डैश (--) से लंबे रूप में शुरू होते हैं। ये प्रोग्राम की अतिरिक्त कार्यक्षमता प्रदान करते हैं।
parser.add_argument("-v", "--verbose", help="विस्तृत जानकारी दिखाएँ", action="store_true")
parser.add_argument("-o", "--output", help="परिणाम सहेजने के लिए फ़ाइल")
आर्गुमेंट्स के डेटा प्रकार के साथ काम करना
डिफ़ॉल्ट रूप से, सभी आर्गुमेंट्स को स्ट्रिंग के रूप में माना जाता है। दूसरे डेटा प्रकार के लिए type पैरामीटर का उपयोग करें:
parser.add_argument("number", type=int, help="एक पूर्णांक संख्या दर्ज करें")
parser.add_argument("price", type=float, help="उत्पाद की कीमत")
parser.add_argument("enabled", type=bool, help="फ़ंक्शन को सक्षम करें")
पैरामीटर पास करते समय