पायथन का sys मॉड्यूल sys.argv के माध्यम से किसी भी कमांड-लाइन तर्क तक पहुंच प्रदान करता है। sys.argv कमांड-लाइन तर्कों की सूची है और sys.argv[0] प्रोग्राम है यानी। स्क्रिप्ट का नाम।
निम्नलिखित कोड को args.py के रूप में सहेजें
import sys
print ('argument list', sys.argv) कमांड लाइन से उपरोक्त स्क्रिप्ट को निम्नानुसार निष्पादित करें:
C:\python37>python args.py 11 22 argument list ['args.py', '11', '22']
getopt मॉड्यूल में sys.argv में कमांड लाइन तर्कों को पार करने के लिए फ़ंक्शन हैं। यह यूनिक्स getopt() फ़ंक्शन ('-' और '--' प्रपत्र के तर्कों के विशेष अर्थों सहित) के समान सम्मेलनों का समर्थन करता है।
API को C getopt () फ़ंक्शन के उपयोगकर्ताओं के लिए परिचित होने के लिए डिज़ाइन किया गया है।
getopt(args, shortopts, longopts=[])
पार्स कमांड लाइन विकल्प और पैरामीटर सूची। args sys.argv[0] को छोड़कर तर्क सूची है, जो चल रहे प्रोग्राम का प्रमुख संदर्भ है। सामान्यतया, इसका अर्थ है sys.argv[1:]। इस फ़ंक्शन के तर्क इस प्रकार हैं -
शॉर्टॉप्ट: विकल्प अक्षरों की स्ट्रिंग है जिसे स्क्रिप्ट द्वारा पहचाना जाएगा। जिन विकल्पों में तर्क की आवश्यकता होती है, उनके बाद एक कोलन (':'; यानी, यूनिक्स getopt() द्वारा उपयोग किया जाने वाला एक ही प्रारूप) होता है।
लॉन्गॉप्ट्स: यदि निर्दिष्ट किया गया है, तो लंबे विकल्पों के नाम के साथ स्ट्रिंग्स की एक सूची होनी चाहिए जो समर्थित होनी चाहिए। प्रमुख '--' वर्णों को विकल्प के नाम में शामिल नहीं किया जाना चाहिए। लंबे विकल्प जिनके लिए तर्क की आवश्यकता होती है, उनके बाद एक समान चिह्न ('=') होना चाहिए।
वापसी मूल्य में दो तत्व होते हैं:पहला (विकल्प, मूल्य) जोड़े की एक सूची है; दूसरा विकल्प सूची छीनने के बाद छोड़े गए प्रोग्राम तर्कों की सूची है (यह तर्कों का पिछला टुकड़ा है)। लौटाए गए प्रत्येक विकल्प-और-मूल्य युग्म में इसके पहले तत्व के रूप में विकल्प होता है, छोटे विकल्पों के लिए एक हाइफ़न (जैसे, '-x') या लंबे विकल्पों के लिए दो हाइफ़न (जैसे, '--long-option'), और विकल्प तर्क इसके दूसरे तत्व के रूप में, या एक खाली स्ट्रिंग यदि विकल्प में कोई तर्क नहीं है। सूची में विकल्प उसी क्रम में होते हैं जिसमें वे पाए गए थे, इस प्रकार कई घटनाओं की अनुमति देते हैं। लंबे और छोटे विकल्प मिश्रित हो सकते हैं।
GetoptError तब उठाया जाता है जब तर्क सूची में एक अपरिचित विकल्प पाया जाता है या जब तर्क की आवश्यकता वाले विकल्प को कोई नहीं दिया जाता है।
उदाहरण
import sys, getopt
args=sys.argv[1:]
inputfile = ''
outputfile = ''
try:
opts, args = getopt.getopt(args,"hi:o:",["ifile=","ofile="])
except getopt.GetoptError:
print ('test.py -i <inputfile> -o <outputfile>')
sys.exit(2)
for opt, arg in opts:
if opt == '-h':
print ('args.py -i <inputfile> -o <outputfile>')
sys.exit()
elif opt in ("-i", "--ifile"):
inputfile = arg
elif opt in ("-o", "--ofile"):
outputfile = arg
print ('Input file is "', inputfile)
print ('Output file is "', outputfile) आउटपुट
C:\python37>python args.py -h args.py -i <inputfile> -o <outputfile> C:\python37>python args.py -i abc.txt -o xyz.txt Input file is " abc.txt Output file is " xyz.txt C:\python37>python args.py --ifile=abc.txt --ofile=xyz.txt Input file is " abc.txt Output file is " xyz.txt