పైథాన్‌లో కమాండ్ లైన్‌లో వాదనలను ఎలా అన్వయించాలి

How Parse Arguments Command Line Python



ప్రోగ్రామ్ అమలు సమయంలో ప్రోగ్రామ్‌లో డేటాను పాస్ చేయడానికి కమాండ్-లైన్ ఆర్గ్యుమెంట్‌లు ఉపయోగించబడతాయి. ఈ ఫీచర్ చాలా ప్రసిద్ధ ప్రోగ్రామింగ్ భాషలలో అందుబాటులో ఉంది. కానీ కమాండ్-లైన్ ఆర్గ్యుమెంట్‌ల ప్రాసెసింగ్ వివిధ భాషలకు భిన్నంగా ఉంటుంది. ప్రోగ్రామ్‌ని అమలు చేసే సమయంలో ప్రోగ్రామ్ పేరుతో వాదనలు ఇవ్వబడతాయి. పైథాన్ భాష ఈ ఫీచర్‌కు మద్దతు ఇస్తుంది. పైథాన్ స్క్రిప్ట్‌లో కమాండ్-లైన్ ఆర్గ్యుమెంట్‌లు ఎలా అన్వయించబడతాయి అనేది ఈ వ్యాసంలో చూపబడింది.

ఉపయోగించి కమాండ్-లైన్ ఆర్గ్యుమెంట్ పార్సింగ్ sys మాడ్యూల్

కమాండ్-లైన్ వాదనలు ఉపయోగించి జాబితాలో నిల్వ చేయబడతాయి sys మాడ్యూల్. sys.argv కమాండ్-లైన్ ఆర్గ్యుమెంట్‌ల విలువలను చదవడానికి ఉపయోగించబడుతుంది. కమాండ్-లైన్ ఆర్గ్యుమెంట్‌ల సంఖ్యను ఉపయోగించి లెక్కించవచ్చు లెన్ () ఫంక్షన్ ఈ మాడ్యూల్ యొక్క ఉపయోగం వ్యాసం యొక్క భాగంలో వివరించబడింది.







ఉదాహరణ 1: వాదనలు మరియు వాదన విలువలను చదవడం

కింది పైథాన్ స్క్రిప్ట్‌తో ఫైల్‌ను సృష్టించండి. ఇక్కడ, కమాండ్-లైన్ ఆర్గ్యుమెంట్ విలువలు వేరియబుల్‌లో నిల్వ చేయబడతాయి, argv ఇతర భాషల వలె. లెన్ () స్క్రిప్ట్‌ని అమలు చేసే సమయంలో ఆమోదించబడిన మొత్తం వాదనల సంఖ్యను పద్ధతి లెక్కిస్తుంది. వాదన విలువలు స్క్రిప్ట్ చివరిలో శ్రేణిగా ముద్రించబడతాయి.



# Sys మాడ్యూల్‌ని దిగుమతి చేయండి
దిగుమతి sys

# వాదనల మొత్తం సంఖ్యను ముద్రించండి
ముద్రణ('మొత్తం వాదనలు:', లెన్(sys.argv))
ముద్రణ('వాదన విలువలు:', p(sys.argv))

అవుట్‌పుట్:



నాలుగు కమాండ్-లైన్ ఆర్గ్యుమెంట్‌లను ఉపయోగించి పై స్క్రిప్ట్ ఇక్కడ అమలు చేయబడుతుంది. మొదటి వాదన స్క్రిప్ట్ పేరు మరియు ఇతరులు సంఖ్యా విలువలు. స్క్రిప్ట్ అమలు చేసిన తర్వాత కింది అవుట్‌పుట్ కనిపిస్తుంది.





ఉదాహరణ 2: లూప్ ఉపయోగించి ఆర్గ్యుమెంట్ విలువలను చదవడం



మునుపటి ఉదాహరణలో, ఆర్గ్యుమెంట్ విలువలు శ్రేణిగా ముద్రించబడతాయి. ఆర్గ్యుమెంట్ వేరియబుల్ రకాన్ని ముద్రించడానికి క్రింది స్క్రిప్ట్‌తో ఒక ఫైల్‌ను సృష్టించండి మరియు లూప్ కోసం ఉపయోగించడం ద్వారా ప్రతి లైన్‌లో ప్రతి ఆర్గ్యుమెంట్ విలువను ముద్రించండి.

# Sys మాడ్యూల్‌ని దిగుమతి చేయండి
దిగుమతి sys

# వేరియబుల్ రకాన్ని ముద్రించండి, sys.argv
ముద్రణ(రకం(sys.argv))

# ప్రతి లైన్‌లో ప్రతి కమాండ్-లైన్ ఆర్గ్యుమెంట్‌ను ముద్రించండి
ముద్రణ('కమాండ్ లైన్ వాదనలు:')
కోసంiలో sys.argv:
ముద్రణ(i)

అవుట్‌పుట్:

స్క్రిప్ట్ పేరుతో మూడు ఆర్గ్యుమెంట్‌లను అందించడం ద్వారా పై స్క్రిప్ట్ అమలు చేయబడుతుంది. స్క్రిప్ట్ అమలు చేసిన తర్వాత కింది అవుట్‌పుట్ కనిపిస్తుంది.

గెటోప్ట్ మాడ్యూల్ ఉపయోగించి కమాండ్-లైన్ ఆర్గ్యుమెంట్‌ను పార్స్ చేస్తోంది

అగ్రస్థానంలో ఉంది మాడ్యూల్ ఎంపికలతో కమాండ్-లైన్ ఆర్గ్యుమెంట్‌లను అన్వయించడానికి ఉపయోగించబడుతుంది. అగ్రస్థానంలో () ఈ మాడ్యూల్ యొక్క పద్ధతి వాదనలను చదవడానికి ఉపయోగించబడుతుంది. ఈ పద్ధతిలో మూడు వాదనలు ఉన్నాయి. మొదటి రెండు వాదనలు తప్పనిసరి మరియు చివరి వాదన ఐచ్ఛికం. ఈ వాదనల ఉపయోగాలు క్రింద ఇవ్వబడ్డాయి.

వాదనలు: ఇది కమాండ్-లైన్ ఆర్గ్యుమెంట్ నుండి తీసుకున్న వాదనను కలిగి ఉంది.

సంక్షిప్త ఎంపిక: ఇది వాదనతో పంపే ఏదైనా అక్షరం కావచ్చు.

సుదీర్ఘ ఎంపిక: ఇది రెండు భాగాలతో సుదీర్ఘ ఎంపికలను నిర్వచించడానికి ఉపయోగించబడుతుంది. ఇవి ఎంపిక పేరు మరియు ఎంపిక విలువ.

వాక్యనిర్మాణం: getopt.getopt (args, short_option, [long_option])

ఉదాహరణ 3: చిన్న గెటోప్ట్ ఎంపికలను ఉపయోగించి వాదన విలువలను చదవడం

అగ్రస్థానంలో ఉంది మాడ్యూల్ కంటే ఎక్కువ ఫీచర్లను కలిగి ఉంది sys మాడ్యూల్. కింది ఉదాహరణ చిన్న ఎంపికలను ఎలా ఉపయోగించవచ్చో చూపుతుంది అగ్రస్థానంలో () పద్ధతి argv వేరియబుల్ స్క్రిప్ట్ పేరును వదిలివేయడం ద్వారా కమాండ్-లైన్ ఆర్గ్యుమెంట్‌లను నిల్వ చేస్తుంది. తరువాత, రెండు ఎంపికలు దీనిలో నిర్వచించబడ్డాయి అగ్రస్థానంలో () రన్-టైమ్‌లో వాదనతో ఉపయోగించగల పద్ధతి. ఏదైనా లోపం సంభవించినట్లయితే ఒక దోష సందేశం ప్రదర్శించబడుతుంది.

# Getopt మాడ్యూల్‌ను దిగుమతి చేయండి
దిగుమతి అగ్రస్థానంలో ఉంది

# Sys మాడ్యూల్‌ని దిగుమతి చేయండి
దిగుమతి sys

# స్క్రిప్ట్ పేరును వదిలివేసిన స్టోర్ ఆర్గ్యుమెంట్ వేరియబుల్
argv= sys.argv[1:]

ప్రయత్నించండి:
# గెటాప్ట్ షార్ట్ ఆప్షన్‌లను నిర్వచించండి
ఎంపికలు,వాదిస్తుంది= అగ్రస్థానంలో ఉంది.అగ్రస్థానంలో ఉంది(argv, 'x: y:')

# ఎంపికలు మరియు వాదనను ముద్రించండి
ముద్రణ(ఎంపికలు)
ముద్రణ(వాదిస్తుంది)

తప్ప అగ్రస్థానంలో ఉంది.GetoptError:

# తప్పు ఎంపిక అందించినట్లయితే దోష సందేశాన్ని ముద్రించండి
ముద్రణ('తప్పు ఎంపిక అందించబడింది')

# స్క్రిప్ట్‌ను రద్దు చేయండి
sys.బయటకి దారి(2)

అవుట్‌పుట్:

ఏ వాదన, సరైన ఎంపికలతో వాదనలు మరియు తప్పు ఎంపికతో వాదనలు లేకుండా స్క్రిప్ట్‌ను అమలు చేయండి.

ఉదాహరణ 4: చిన్న మరియు పొడవైన గెటోప్ట్ ఎంపికలను ఉపయోగించి వాదన విలువలను చదవడం

ఈ ఉదాహరణ వాదన విలువలతో చిన్న మరియు పొడవైన ఎంపికలను ఎలా ఉపయోగించవచ్చో చూపుతుంది. ఇది రెండు సంఖ్యలను జోడిస్తుంది '-కు' లేదా ' - చేర్చండి' ఐచ్ఛికంగా ఉపయోగించబడుతుంది మరియు రెండు సంఖ్యలను తీసివేసినప్పుడు -s ' లేదా ' - సబ్ ' రన్-టైమ్‌లో ఎంపికగా ఉపయోగించబడుతుంది.

# Getopt మాడ్యూల్‌ను దిగుమతి చేయండి
దిగుమతి అగ్రస్థానంలో ఉంది

# Sys మాడ్యూల్‌ని దిగుమతి చేయండి
దిగుమతి sys

# స్క్రిప్ట్ పేరును వదిలివేసిన స్టోర్ ఆర్గ్యుమెంట్ వేరియబుల్
argv= sys.argv[1:]

# ఫలిత వేరియబుల్‌ను ప్రారంభించండి
ఫలితం=0

ప్రయత్నించండి:

# చిన్న మరియు పొడవైన ఎంపికలను పొందండి
ఎంపికలు,వాదిస్తుంది= అగ్రస్థానంలో ఉంది.అగ్రస్థానంలో ఉంది(sys.argv[1:], 'a: s', ['జోడించు =','ఉప ='])

# లూప్ కోసం ఉపయోగించి ప్రతి ఎంపికను చదవండి
కోసంఎంపిక,కోపంలోఎంపికలు:
# ఆప్షన్ -a లేదా -జోడిస్తే మొత్తాన్ని లెక్కించండి
ఉంటేఎంపికలో ('-కు', '-జోడించు'):
ఫలితం= int(argv[1])+int(argv[2])

# -S లేదా --sub అనే ఆప్షన్ ఉంటే సన్‌ట్రాక్షన్‌ను లెక్కించండి
ఎలిఫ్ఎంపికలో ('-s', '--సబ్'):
ఫలితం= int(argv[1])-int(argv[2])

ముద్రణ('ఫలితం =',ఫలితం)

తప్ప అగ్రస్థానంలో ఉంది.GetoptError:

# తప్పు ఎంపిక అందించినట్లయితే దోష సందేశాన్ని ముద్రించండి
ముద్రణ('తప్పు ఎంపిక అందించబడింది')

# స్క్రిప్ట్‌ను రద్దు చేయండి
sys.బయటకి దారి(2)

అవుట్‌పుట్:

ఏ వాదనలు మరియు ఎంపికలు లేకుండా స్క్రిప్ట్‌ను అమలు చేయండి, ‘-a’ ఎంపికతో వాదనలు, ‘-s’ ఎంపికతో వాదనలు మరియు తప్పుడు ఎంపికతో వాదనలు.

అర్గ్‌పార్స్ మాడ్యూల్‌ని ఉపయోగించి కమాండ్-లైన్ ఆర్గ్యుమెంట్‌ను పార్స్ చేస్తోంది

ఆర్గ్‌పార్స్ మాడ్యూల్‌లో కమాండ్-లైన్ ఆర్గ్యుమెంట్‌లను చదవడానికి అనేక ఎంపికలు ఉన్నాయి. డిఫాల్ట్ ఆర్గ్యుమెంట్ విలువలు, డేటా రకంతో వాదన, స్థాన వాదనలు, సహాయ సందేశం మొదలైనవి ఈ మాడ్యూల్ ద్వారా అందించబడతాయి.

ఉదాహరణ 5: ఆర్గ్‌పార్స్ ఉపయోగించి కమాండ్-లైన్ ఆర్గ్యుమెంట్‌లను చదవడం

కింది ఉదాహరణ దీని ఉపయోగాన్ని చూపుతుంది ఆర్గ్‌పర్స్ కమాండ్-లైన్ ఆర్గ్యుమెంట్ చదవడానికి మాడ్యూల్. ఇక్కడ, కమాండ్-లైన్ ఆర్గ్యుమెంట్‌లను చదవడానికి రెండు ఎంపికలు నిర్వచించబడ్డాయి. ఇవి '-N' లేదా '–name' మరియు ‘-ఈ’ లేదా ‘–మెయిల్’. ఒకవేళ వినియోగదారు ఏదైనా తప్పు వాదనను అందించినట్లయితే, అది వినియోగ సందేశంతో లోపాన్ని చూపుతుంది. వినియోగదారు వాదనలతో సరైన ఎంపికలను అందించినట్లయితే అది వాదన విలువలను ప్రదర్శిస్తుంది. ఒకవేళ యూజర్ స్క్రిప్ట్‌ను ‘–Help’ ఆప్షన్‌తో రన్ చేస్తే, స్క్రిప్ట్‌ను అమలు చేయడానికి అవసరమైన సందేశాన్ని అందిస్తుంది.

# ఆర్గ్‌పార్స్ మాడ్యూల్‌ను దిగుమతి చేయండి
దిగుమతిఆర్గ్‌పర్స్

# Sys మాడ్యూల్‌ని దిగుమతి చేయండి
దిగుమతి sys

# కమాండ్-లైన్ ఆర్గ్యుమెంట్‌లను నిర్వచించడానికి ఫంక్షన్‌ను ప్రకటించండి
డెఫ్చదవడానికి ఎంపికలు(వాదిస్తుంది=sys.argv[1:]):
పార్సర్ =ఆర్గ్‌పర్స్.ఆర్గ్యుమెంట్ పార్సర్(వివరణ='పార్సింగ్ ఆదేశాల జాబితాలు.')
పార్సర్.వాదన_ని జోడించండి('-n', '-పేరు', సహాయం='మీ పేరును టైప్ చేయండి.')
పార్సర్.వాదన_ని జోడించండి('-మరియు', '--మెయిల్', సహాయం='మీ ఇమెయిల్ టైప్ చేయండి.')
ఎంచుకుంటుంది= పార్సర్.పార్స్_ఆర్గ్స్(వాదిస్తుంది)
తిరిగిఎంచుకుంటుంది

ఆర్గ్యుమెంట్ విలువలను చదవడానికి ఫంక్షన్‌కు కాల్ చేయండి
ఎంపికలు=చదవడానికి ఎంపికలు(sys.argv[1:])
ముద్రణ(ఎంపికలు.పేరు)
ముద్రణ(ఎంపికలు.ఇమెయిల్)

అవుట్‌పుట్:

తప్పు ఎంపిక, సరైన ఎంపిక మరియు సహాయ ఎంపికతో స్క్రిప్ట్‌ను అమలు చేయండి.

ముగింపు:

మూడు పైథాన్ మాడ్యూల్స్ ఉపయోగించి ఈ ట్యుటోరియల్‌లో కమాండ్-లైన్ ఆర్గ్యుమెంట్‌లను చదవడానికి వివిధ మార్గాలు వివరించబడ్డాయి. పైథాన్‌లో కమాండ్-లైన్ ఆర్గ్యుమెంట్‌లను ఉపయోగించి డేటాను చదవాలనుకునే కోడర్‌కు ఈ ట్యుటోరియల్ సహాయపడుతుందని నేను ఆశిస్తున్నాను.

రచయిత వీడియో చూడండి: ఇక్కడ