பைத்தானில் கட்டளை வரியில் வாதங்களை பாகுபடுத்துவது எப்படி

How Parse Arguments Command Line Python



நிரல் செயல்பாட்டின் போது நிரலில் தரவை அனுப்ப கட்டளை வரி வாதங்கள் பயன்படுத்தப்படுகின்றன. இந்த அம்சம் பெரும்பாலான பிரபலமான நிரலாக்க மொழிகளில் கிடைக்கிறது. ஆனால் கட்டளை வரி வாதங்களை செயலாக்குவது வெவ்வேறு மொழிகளுக்கு வேறுபட்டது. நிரலை இயக்கும் நேரத்தில் நிரல் பெயருடன் வாதங்களின் மதிப்புகள் கொடுக்கப்பட்டுள்ளன. பைதான் மொழி இந்த அம்சத்தை ஆதரிக்கிறது. பைதான் ஸ்கிரிப்டில் கட்டளை வரி வாதங்கள் எவ்வாறு பகுக்கப்படுகின்றன என்பது இந்த கட்டுரையில் காட்டப்பட்டுள்ளது.

பயன்படுத்தி கட்டளை வரி வாதம் sys தொகுதி

கட்டளை வரி வாதங்கள் பயன்படுத்தி ஒரு பட்டியலில் சேமிக்கப்படும் sys தொகுதி sys.argv கட்டளை வரி வாதங்களின் மதிப்புகளைப் படிக்கப் பயன்படுகிறது. கட்டளை வரி வாதங்களின் மொத்த எண்ணிக்கையை பயன்படுத்தி கணக்கிட முடியும் லென் () செயல்பாடு இந்த தொகுதியின் பயன்பாடு கட்டுரையின் பகுதியில் விவரிக்கப்பட்டுள்ளது.







எடுத்துக்காட்டு 1: வாதங்கள் மற்றும் வாத மதிப்புகளின் எண்ணிக்கையைப் படித்தல்

பின்வரும் பைதான் ஸ்கிரிப்டுடன் ஒரு கோப்பை உருவாக்கவும். இங்கே, கட்டளை வரி வாதம் மதிப்புகள் மாறியில் சேமிக்கப்படும், argv மற்ற மொழிகளைப் போல. லென் () ஸ்கிரிப்டை இயக்கும் போது நிறைவேற்றப்பட்ட வாதங்களின் மொத்த எண்ணிக்கையை முறை கணக்கிடுகிறது. ஸ்கிரிப்ட்டின் முடிவில் வாத மதிப்புகள் ஒரு வரிசையாக அச்சிடப்படுகின்றன.



# Sys தொகுதியை இறக்குமதி செய்யவும்
இறக்குமதி sys

# வாதங்களின் மொத்த எண்ணிக்கையை அச்சிடுக
அச்சு(மொத்த வாதங்கள்: ', லென்(sys.argv))
அச்சு('வாத மதிப்புகள்:', (sys.argv))

வெளியீடு:



நான்கு கட்டளை வரி வாதங்களைப் பயன்படுத்தி மேலே உள்ள ஸ்கிரிப்ட் இங்கே செயல்படுத்தப்படுகிறது. முதல் வாதம் ஸ்கிரிப்ட் பெயர் மற்றும் மற்றவை எண் மதிப்புகள். ஸ்கிரிப்டை இயக்கிய பின் பின்வரும் வெளியீடு தோன்றும்.





எடுத்துக்காட்டு 2: வளையத்தைப் பயன்படுத்தி வாத மதிப்புகளைப் படித்தல்



முந்தைய எடுத்துக்காட்டில், வாத மதிப்புகள் ஒரு வரிசையாக அச்சிடப்படுகின்றன. வாத மாறுபாடு வகையை அச்சிட பின்வரும் ஸ்கிரிப்டுடன் ஒரு கோப்பை உருவாக்கவும் மற்றும் ஒவ்வொரு வரியிலும் ஒவ்வொரு வாத மதிப்பையும் அச்சிட அச்சிடவும்.

# Sys தொகுதியை இறக்குமதி செய்யவும்
இறக்குமதி sys

# மாறியின் வகையை அச்சிடவும், sys.argv
அச்சு(வகை(sys.argv))

# ஒவ்வொரு வரியிலும் ஒவ்வொரு கட்டளை வரி வாதத்தையும் அச்சிடவும்
அச்சு('கட்டளை வரி வாதங்கள்:')
க்கானநான்இல் sys.argv:
அச்சு(நான்)

வெளியீடு:

ஸ்கிரிப்ட் பெயருடன் மூன்று வாதங்களை வழங்குவதன் மூலம் மேலே உள்ள ஸ்கிரிப்ட் செயல்படுத்தப்படுகிறது. ஸ்கிரிப்டை இயக்கிய பின் பின்வரும் வெளியீடு தோன்றும்.

Getopt தொகுதியைப் பயன்படுத்தி கட்டளை வரி வாதத்தை பாகுபடுத்துதல்

முதலிடம் விருப்பத்தேர்வுகளுடன் கட்டளை வரி வாதங்களை பாகுபடுத்த தொகுதி பயன்படுகிறது. முதலிடம் () இந்த தொகுதியின் முறை வாதங்களைப் படிக்க பயன்படுகிறது. இந்த முறை மூன்று வாதங்களைக் கொண்டுள்ளது. முதல் இரண்டு வாதங்கள் கட்டாயம் மற்றும் கடைசி வாதம் விருப்பமானது. இந்த வாதங்களின் பயன்கள் கீழே கொடுக்கப்பட்டுள்ளன.

வாதங்கள்: கட்டளை வரி வாதத்திலிருந்து எடுக்கப்பட்ட வாதம் இதில் உள்ளது.

குறுகிய தேர்வு: இது வாதத்துடன் செல்லும் எந்த கடிதமாகவும் இருக்கலாம்.

நீண்ட தேர்வு: இது இரண்டு பகுதிகளுடன் நீண்ட விருப்பங்களை வரையறுக்கப் பயன்படுகிறது. இவை விருப்பத்தின் பெயர் மற்றும் விருப்ப மதிப்பு.

தொடரியல்: getopt.getopt (args, short_option, [long_option])

எடுத்துக்காட்டு 3: குறுகிய getopt விருப்பங்களைப் பயன்படுத்தி வாத மதிப்புகளைப் படித்தல்

முதலிடம் தொகுதி அதிக அம்சங்களைக் கொண்டுள்ளது sys தொகுதி பின்வரும் உதாரணம் குறுகிய விருப்பங்களை எவ்வாறு பயன்படுத்தலாம் என்பதைக் காட்டுகிறது முதலிடம் () முறை argv வேரியபிள் ஸ்கிரிப்ட் பெயரை தவிர்த்து கட்டளை வரி வாதங்களை சேமிக்கும். அடுத்து, இரண்டு விருப்பங்கள் வரையறுக்கப்பட்டுள்ளன முதலிடம் () இயக்க நேரத்தில் வாதத்துடன் பயன்படுத்தக்கூடிய முறை. ஏதேனும் பிழை ஏற்பட்டால் பிழை செய்தி காட்டப்படும்.

# Getopt தொகுதியை இறக்குமதி செய்யவும்
இறக்குமதி முதலிடம்

# Sys தொகுதியை இறக்குமதி செய்யவும்
இறக்குமதி sys

# ஸ்கிரிப்ட் பெயரைத் தவிர்த்து வாத மாறுபாடு சேமிக்கவும்
argv= sys.argv[1:]

முயற்சி:
# Getopt குறுகிய விருப்பங்களை வரையறுக்கவும்
விருப்பங்கள்,வாதிடுகிறார்= முதலிடம்.முதலிடம்(argv, 'x: y:')

# விருப்பங்களையும் வாதத்தையும் அச்சிடவும்
அச்சு(விருப்பங்கள்)
அச்சு(வாதிடுகிறார்)

தவிர முதலிடம்.GetoptError:

# தவறான விருப்பம் வழங்கப்பட்டால் பிழை செய்தியை அச்சிடவும்
அச்சு('தவறான விருப்பம் வழங்கப்பட்டுள்ளது')

# ஸ்கிரிப்டை நிறுத்தவும்
sys.வெளியேறு(2)

வெளியீடு:

எந்த வாதமும் இல்லாமல் சரியான விருப்பத்துடன் வாதங்கள் மற்றும் தவறான விருப்பத்துடன் வாதங்கள் இல்லாமல் ஸ்கிரிப்டை இயக்கவும்.

எடுத்துக்காட்டு 4: குறுகிய மற்றும் நீண்ட getopt விருப்பங்களைப் பயன்படுத்தி வாத மதிப்புகளைப் படித்தல்

வாத மதிப்புகளுடன் குறுகிய மற்றும் நீண்ட விருப்பங்களை எவ்வாறு பயன்படுத்தலாம் என்பதை இந்த எடுத்துக்காட்டு காட்டுகிறது. அது எப்போது இரண்டு எண்களைச் சேர்க்கும் '-க்கு' அல்லது '-கூட்டு' ஒரு விருப்பமாகப் பயன்படுத்தப்படும் மற்றும் இரண்டு எண்களைக் கழிக்கும்போது -s ' அல்லது ' - துணை ' இயக்க நேரத்தில் ஒரு விருப்பமாக பயன்படுத்தப்படும்.

# Getopt தொகுதியை இறக்குமதி செய்யவும்
இறக்குமதி முதலிடம்

# Sys தொகுதியை இறக்குமதி செய்யவும்
இறக்குமதி sys

# ஸ்கிரிப்ட் பெயரைத் தவிர்த்து வாத மாறுபாடு சேமிக்கவும்
argv= sys.argv[1:]

# முடிவு மாறியை துவக்கவும்
விளைவாக=0

முயற்சி:

# குறுகிய மற்றும் நீண்ட விருப்பங்களைப் பெறுங்கள்
விருப்பங்கள்,வாதிடுகிறார்= முதலிடம்.முதலிடம்(sys.argv[1:], 'a: s', ['சேர் =','துணை ='])

# வளையத்தைப் பயன்படுத்தி ஒவ்வொரு விருப்பத்தையும் படிக்கவும்
க்கானதேர்வு,கோபம்இல்விருப்பங்கள்:
# -ஆ அல்லது -சேர்க்கும் விருப்பம் இருந்தால் தொகையைக் கணக்கிடுங்கள்
என்றால்தேர்வுஇல் ('-க்கு', '--கூட்டு'):
விளைவாக= int(argv[1])+int(argv[2])

# -S அல்லது --sub என்ற விருப்பம் இருந்தால் தொகுப்பை கணக்கிடுங்கள்
எலிஃப்தேர்வுஇல் ('-s', '--சப்'):
விளைவாக= int(argv[1])-int(argv[2])

அச்சு('முடிவு =',விளைவாக)

தவிர முதலிடம்.GetoptError:

# தவறான விருப்பம் வழங்கப்பட்டால் பிழை செய்தியை அச்சிடவும்
அச்சு('தவறான விருப்பம் வழங்கப்பட்டுள்ளது')

# ஸ்கிரிப்டை நிறுத்தவும்
sys.வெளியேறு(2)

வெளியீடு:

எந்த வாதங்களும் விருப்பங்களும் இல்லாமல் ஸ்கிரிப்டை இயக்கவும், ‘-a’ விருப்பத்துடன் வாதங்கள், ‘-s’ விருப்பத்துடன் வாதங்கள் மற்றும் தவறான விருப்பத்துடன் வாதங்கள்.

ஆர்க்பார்ஸ் தொகுதியைப் பயன்படுத்தி கட்டளை வரி வாதத்தை பாகுபடுத்துதல்

ஆர்க்பார்ஸ் தொகுதி கட்டளை வரி வாதங்களைப் படிக்க நிறைய விருப்பங்களைக் கொண்டுள்ளது. இயல்புநிலை வாதம் மதிப்புகள், தரவு வகையுடன் வாதம், நிலை வாதங்கள், உதவி செய்தி போன்றவை இந்த தொகுதியால் வழங்கப்படலாம்.

எடுத்துக்காட்டு 5: ஆர்க்பார்ஸைப் பயன்படுத்தி கட்டளை வரி வாதங்களைப் படித்தல்

பின்வரும் உதாரணம் பயன்பாட்டைக் காட்டுகிறது ஆர்க்பார்ஸ் கட்டளை வரி வாதத்தைப் படிப்பதற்கான தொகுதி. கட்டளை வரி வாதங்களைப் படிக்க இங்கே இரண்டு விருப்பங்கள் வரையறுக்கப்பட்டுள்ளன. இவை '-N' அல்லது '–name' மற்றும் '-E' அல்லது '–மெயில்'. பயனர் ஏதேனும் தவறான வாதத்தை வழங்கினால், அது பயன்பாட்டு செய்தியில் பிழையைக் காண்பிக்கும். பயனர் வாதங்களுடன் சரியான விருப்பங்களை வழங்கினால் அது வாத மதிப்புகளைக் காண்பிக்கும். பயனர் ஸ்கிரிப்டை ‘–உதவி’ விருப்பத்துடன் இயக்கினால், அது ஸ்கிரிப்டை இயக்க தேவையான செய்தியை வழங்கும்.

# ஆர்க்பார்ஸ் தொகுதியை இறக்குமதி செய்யவும்
இறக்குமதிஆர்க்பார்ஸ்

# Sys தொகுதியை இறக்குமதி செய்யவும்
இறக்குமதி sys

# கட்டளை வரி வாதங்களை வரையறுக்க செயல்பாட்டை அறிவிக்கவும்
டெஃப்விருப்பத்தேர்வுகள்(வாதிடுகிறார்=sys.argv[1:]):
பாகுபடுத்தி =ஆர்க்பார்ஸ்.வாதம் பார்சர்(விளக்கம்=பாகுபடுத்தும் கட்டளைகள் பட்டியல்கள். ')
பாகுபடுத்தி.வாதம்_ சேர்க்கவும்('-n', '-பெயர்', உதவி='உங்கள் பெயரை தட்டச்சு செய்யவும்.')
பாகுபடுத்தி.வாதம்_ சேர்க்கவும்('-மற்றும்', '-மின்னஞ்சல்', உதவி='உங்கள் மின்னஞ்சலை தட்டச்சு செய்யவும்.')
தேர்வு செய்கிறது= பாகுபடுத்தி.parse_args(வாதிடுகிறார்)
திரும்பதேர்வு செய்கிறது

# வாத மதிப்புகளைப் படிக்க செயல்பாட்டை அழைக்கவும்
விருப்பங்கள்=விருப்பத்தேர்வுகள்(sys.argv[1:])
அச்சு(விருப்பங்கள்.பெயர்)
அச்சு(விருப்பங்கள்.மின்னஞ்சல்)

வெளியீடு:

தவறான விருப்பம், சரியான விருப்பம் மற்றும் உதவி விருப்பத்துடன் ஸ்கிரிப்டை இயக்கவும்.

முடிவுரை:

கட்டளை வரி வாதங்களை வாசிப்பதற்கான பல்வேறு வழிகள் மூன்று பைதான் தொகுதிகளைப் பயன்படுத்தி இந்த டுடோரியலில் விளக்கப்பட்டுள்ளன. பைத்தானில் கட்டளை வரி வாதங்களைப் பயன்படுத்தி தரவைப் படிக்க விரும்பும் குறியீட்டாளருக்கு இந்த பயிற்சி உதவும் என்று நம்புகிறேன்.

ஆசிரியரின் வீடியோவைப் பாருங்கள்: இங்கே