How do i create custom tags for taking the input string in command line and store them in a variable in Python

The format for taking the input is:

myprogram.py -f "string1" -t "string2" -i "string 3 some directory path" 
Add Comment
1 Answer(s)

you should use the argparse Python module to parse the CLI parameters. I have written an example for you.

Official documentation of argparse: https://docs.python.org/3/library/argparse.html

Code:

from argparse import ArgumentParser  parser = ArgumentParser(description=__doc__)  parser.add_argument(     "-f",     dest="first_string",     help="Your first string parameter",     required=True, )  parser.add_argument(     "-t",     dest="second_string",     help="Your second string parameter",     required=True, )  parser.add_argument(     "-i",     dest="third_string",     help="Your third string parameter",     required=True, )  input_parameters, unknown_input_parameters = parser.parse_known_args()  # Set CLI argument variables. first_arg = input_parameters.first_string second_arg = input_parameters.second_string third_arg = input_parameters.third_string  print("-f: {}\n"       "-t: {}\n"       "-i: {}".format(first_arg, second_arg, third_arg)) 

Some output:

>>> python3 test.py -f "string1" -t "string2" -i "string 3 some directory path" -f: string1 -t: string2 -i: string 3 some directory path  >>> python3 test.py -t "string1" -f "string2" -i "string 3 some directory path" -f: string2 -t: string1 -i: string 3 some directory path  >>> python3 test.py -t "string1" -f "string2" -i "string 3 some directory path" -x "Unused" -f: string2 -t: string1 -i: string 3 some directory path  >>> python3 test.py -t "string1" -i "string 3 some directory path" usage: test.py [-h] -f FIRST_STRING -t SECOND_STRING -i THIRD_STRING test.py: error: the following arguments are required: -f  >>> python3 test.py -h usage: test.py [-h] -f FIRST_STRING -t SECOND_STRING -i THIRD_STRING  optional arguments:   -h, --help        show this help message and exit   -f FIRST_STRING   Your first string parameter   -t SECOND_STRING  Your second string parameter   -i THIRD_STRING   Your third string parameter 
Add Comment

Your Answer

By posting your answer, you agree to the privacy policy and terms of service.