ஒரு பைதான் ஸ்கிரிப்டில் கட்டளை வரி வாதங்களை எவ்வாறு சேர்ப்பது

How Add Command Line Arguments Python Script



நீங்கள் பைதான் ஸ்கிரிப்ட் அல்லது அப்ளிகேஷனை முதன்மையாக டெர்மினல் எமுலேட்டர்கள் அல்லது GUI செயலிகளில் உருவாக்கியிருந்தால், கட்டளை வரி வாதங்களைச் சேர்ப்பதன் மூலம் அதன் உபயோகம், குறியீடு வாசிப்பு, பயன்பாட்டு அமைப்பு மற்றும் இறுதி பயனர்களுக்கான ஒட்டுமொத்த பயனர் நட்பையும் மேம்படுத்தலாம். இந்த கட்டளை வரி வாதங்கள் விருப்பங்கள் அல்லது சுவிட்சுகள் என்றும் அழைக்கப்படுகின்றன மற்றும் நீங்கள் வழக்கமாக பாஷ் ஸ்கிரிப்டுகள் மற்றும் பிற சி / சி ++ அடிப்படையிலான நிரல்களில் பார்க்கும் வாதங்களைப் போலவே செயல்படுகின்றன.

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







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



எடுத்துக்காட்டு 1: உதவி வாதம் மற்றும் செய்தியை உருவாக்குங்கள்

கீழே உள்ள குறியீட்டு மாதிரியை கவனியுங்கள்:



இறக்குமதிஆர்க்பார்ஸ்

பாகுபடுத்தி =ஆர்க்பார்ஸ்.வாதம் பார்சர்(விளக்கம்='ஒரு சோதனைத் திட்டம்.')

வாதிடுகிறார்= பாகுபடுத்தி.parse_args()

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





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

$ ./சோதனை.பை-h

$ ./சோதனை.பை-உதவி

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



பயன்பாடு: test.py [-h]


ஒரு சோதனை திட்டம்.


விருப்ப வாதங்கள்:

-h, -இந்த உதவி செய்தியை காட்டி வெளியேறவும்

பாகுபடுத்தப்பட்ட வாதங்களைக் கையாளவும் அவற்றை பொருளாக மாற்றவும் எந்த தர்க்கமும் மேலே குறிப்பிடப்பட்ட குறியீடு மாதிரியில் சேர்க்கப்படவில்லை என்பதை நினைவில் கொள்க. எனவே, தனிப்பட்ட வாதங்களுக்கான உதவி செய்திகள் வெளியீட்டில் காட்டப்படவில்லை. உங்கள் நிரலில் பாகுபடுத்தப்பட்ட வாதங்களின் மதிப்புகளைக் கையாள தர்க்கத்தைச் சேர்த்தவுடன், உதவி செய்திகள் தனிப்பட்ட வாதங்களுக்கான விளக்கத்தைக் காட்டத் தொடங்கும்.

எடுத்துக்காட்டு 2: ஒரு சரம் வாதத்தைக் கையாளவும்

உங்கள் பைதான் ஸ்கிரிப்ட் மூலம் ஏற்றுக்கொள்ளக்கூடிய வாதங்களைச் சேர்க்க, நீங்கள் add_argument முறையைப் பயன்படுத்த வேண்டும். பின்வரும் குறியீட்டைப் பாருங்கள்:

இறக்குமதிஆர்க்பார்ஸ்

பாகுபடுத்தி =ஆர்க்பார்ஸ்.வாதம் பார்சர்(விளக்கம்='ஒரு சோதனைத் திட்டம்.')

பாகுபடுத்தி.வாதம்_ சேர்க்கவும்('print_string', உதவி='வழங்கப்பட்ட வாதத்தை அச்சிடுகிறது.')

வாதிடுகிறார்= பாகுபடுத்தி.parse_args()

அச்சு(வாதிடுகிறார்.print_string)

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

முன்னிருப்பாக, add_argument முறை வாதங்களிலிருந்து பெறப்பட்ட மதிப்புகளை சரங்களாகக் கருதுகிறது, எனவே இந்த வழக்கில் நீங்கள் வகையை வெளிப்படையாக குறிப்பிட வேண்டியதில்லை. மேலெழுதப்படாவிட்டால், சேர்க்கப்பட்ட வாதங்களுக்கு இயல்புநிலை மதிப்பு எதுவும் ஒதுக்கப்படவில்லை.

மீண்டும் ஒரு முறை உதவி செய்தியைப் பாருங்கள்:

பயன்பாடு: test.py [-h] [print_string]


ஒரு சோதனை திட்டம்.


நிலை வாதங்கள்:

print_string வழங்கப்பட்ட வாதத்தை அச்சிடுகிறது.


விருப்ப வாதங்கள்:

-h, -இந்த உதவி செய்தியை காட்டி வெளியேறவும்

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

விருப்ப வாதங்களை வரையறுக்கவும் பாகுபடுத்தவும், நீங்கள் பயன்படுத்தலாம் - (இரட்டை கோடு) மற்றும் இயல்புநிலை வாதத்தைப் பயன்படுத்தி அவற்றின் இயல்புநிலை மதிப்புகளை மாற்றவும்.

இறக்குமதிஆர்க்பார்ஸ்

பாகுபடுத்தி =ஆர்க்பார்ஸ்.வாதம் பார்சர்(விளக்கம்='ஒரு சோதனைத் திட்டம்.')

பாகுபடுத்தி.வாதம்_ சேர்க்கவும்('--print_string', உதவி='வழங்கப்பட்ட வாதத்தை அச்சிடுகிறது.',இயல்புநிலை=TOசீரற்ற லேசான கயிறு.)

வாதிடுகிறார்= பாகுபடுத்தி.parse_args()

அச்சு(வாதிடுகிறார்.print_string)

இப்போது நீங்கள் எந்த வாதமும் இல்லாமல் test.py ஸ்கிரிப்டை இயக்கும்போது, ​​நீங்கள் ஒரு சீரற்ற சரத்தைப் பெற வேண்டும். வெளியீடாக. நீங்கள் விரும்பும் எந்த சரத்தையும் அச்சிடுவதற்கு நீங்கள் விருப்பமாக –print_string முக்கிய வார்த்தையைப் பயன்படுத்தலாம்.

$ ./சோதனை.பை--print_string LinuxHint.உடன்LinuxHint.com

கூடுதல் தேவை = உண்மை வாதத்தைப் பயன்படுத்தி நீங்கள் ஒரு விருப்ப வாதத்தை கட்டாயமாக்கலாம் என்பதை நினைவில் கொள்க.

கடைசியாக, வினைச்சொல்லைக் குறைக்க - (ஒற்றை கோடு) பயன்படுத்தி வாதத்தின் சுருக்கெழுத்து பதிப்புகளையும் நீங்கள் வரையறுக்கலாம்.

இறக்குமதிஆர்க்பார்ஸ்

பாகுபடுத்தி =ஆர்க்பார்ஸ்.வாதம் பார்சர்(விளக்கம்='ஒரு சோதனைத் திட்டம்.')

பாகுபடுத்தி.வாதம்_ சேர்க்கவும்(-பி, '--print_string', உதவி='வழங்கப்பட்ட வாதத்தை அச்சிடுகிறது.',இயல்புநிலை=TOசீரற்ற லேசான கயிறு.)

வாதிடுகிறார்= பாகுபடுத்தி.parse_args()

அச்சு(வாதிடுகிறார்.print_string)

பின்வரும் கட்டளையை இயக்குவது மேலே உள்ள அதே முடிவை உங்களுக்கு வழங்க வேண்டும்:

$ ./சோதனை.பை-பி லினக்ஸ்ஹிண்ட்.உடன்

எடுத்துக்காட்டு 3: ஒரு முழு வாதத்தைக் கையாளவும்

முழு மதிப்புகள் தேவைப்படும் வாதங்களைக் கையாள, நிலைமையைச் சந்திக்கவில்லை எனில், சரிபார்ப்பை அனுமதிக்கவும் மற்றும் பிழைகளை எறியவும் வகை தட்டச்சுச்சொல்லை int ஆக அமைக்க வேண்டும்.

இறக்குமதிஆர்க்பார்ஸ்

பாகுபடுத்தி =ஆர்க்பார்ஸ்.வாதம் பார்சர்(விளக்கம்='ஒரு சோதனைத் திட்டம்.')

பாகுபடுத்தி.வாதம்_ சேர்க்கவும்('-p', '--print_string', உதவி='வழங்கப்பட்ட வாதத்தை அச்சிடுகிறது.', வகை=int)

வாதிடுகிறார்= பாகுபடுத்தி.parse_args()

அச்சு(வாதிடுகிறார்.print_string)

பின்வரும் கட்டளையை இயக்க முயற்சிக்கவும்:

$ ./சோதனை.பை-பி லினக்ஸ்ஹிண்ட்.உடன்

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

பயன்பாடு: test.py [-h] [-p PRINT_STRING]

test.py: பிழை: வாதம் -p/-print_string: தவறான int மதிப்பு: 'LinuxHint.com'

ஒரு முழு மதிப்பை வழங்குவது சரியான முடிவைக் கொடுக்கும்:

$ ./சோதனை.பை-பி10001000

எடுத்துக்காட்டு 4: உண்மை மற்றும் தவறான நிலைகளைக் கையாளவும்

அதிரடி வாதத்தைப் பயன்படுத்தி அவற்றை உண்மை மற்றும் தவறான கொடிகள் என்று கருதுவதற்கு எந்த மதிப்புகளும் இல்லாமல் வாதங்களை நீங்கள் அனுப்பலாம்.

இறக்குமதிஆர்க்பார்ஸ்

பாகுபடுத்தி =ஆர்க்பார்ஸ்.வாதம் பார்சர்(விளக்கம்='ஒரு சோதனைத் திட்டம்.')

பாகுபடுத்தி.வாதம்_ சேர்க்கவும்('-p', '--print_string', உதவி='வழங்கப்பட்ட வாதத்தை அச்சிடுகிறது.',நடவடிக்கை='store_true')

வாதிடுகிறார்= பாகுபடுத்தி.parse_args()

அச்சு(வாதிடுகிறார்.print_string)

வெளியீடாக ஒரு எளிய உண்மையைப் பெற கீழே உள்ள கட்டளையை இயக்கவும்:

$ ./சோதனை.பை-பி

நீங்கள் -p வாதம் இல்லாமல் ஸ்கிரிப்டை இயக்கினால், அதற்கு பதிலாக ஒரு தவறான மதிப்பு ஒதுக்கப்படும். செயல் முக்கிய வார்த்தையின் மதிப்பு store_true -p வாதம் வெளிப்படையாகக் குறிப்பிடப்படும் போதெல்லாம் print_string மாறிக்கு ஒரு உண்மையான மதிப்பை அளிக்கிறது, இல்லையெனில் தவறானது மாறிக்கு ஒதுக்கப்படும்.

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

நீங்கள் ஒரே நேரத்தில் பல மதிப்புகளைப் பெற்று அவற்றை பட்டியலில் சேமிக்க விரும்பினால், பின்வரும் வடிவத்தில் நீங்கள் நார்ஸ் முக்கிய வார்த்தையை வழங்க வேண்டும்:

இறக்குமதிஆர்க்பார்ஸ்

பாகுபடுத்தி =ஆர்க்பார்ஸ்.வாதம் பார்சர்(விளக்கம்='ஒரு சோதனைத் திட்டம்.')

பாகுபடுத்தி.வாதம்_ சேர்க்கவும்('-p', '--print_string', உதவி='வழங்கப்பட்ட வாதத்தை அச்சிடுகிறது.',நார்ஸ்='*')

வாதிடுகிறார்= பாகுபடுத்தி.parse_args()

அச்சு(வாதிடுகிறார்.print_string)

மேலே உள்ள குறியீட்டை சோதிக்க பின்வரும் கட்டளையை இயக்கவும்:

$ ./சோதனை.பை-பி எ பி

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

['a', 'b']

முடிவுரை

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