Skip to content Skip to sidebar Skip to footer

Allow Unknown Arguments Using Argparse

I have a python script that requires the user to enter two arguments to run it, the arguments could be named anything. I have also used argparse to allow the users to use a switch

Solution 1:

import argparse

parser = argparse.ArgumentParser(description='sample')

# Add mandatory arguments
parser.add_argument('arg1', action="store")
parser.add_argument('arg2', action="store")

# Parse the arguments
args = parser.parse_args()
# sample usage of argsprint (float(args.arg1) + float(args.arg2))

Solution 2:

Try the following code :-

import argparse

 parser = argparse.ArgumentParser(add_help=False)

 parser.add_argument('-h', '--help', action='help',
                help='To run this script please provide two arguments')
 parser.add_argument('arg1')
 parser.add_argument('arg2')

 args, unknown = parser.parse_known_args()

All your unknown arguments will be parsed in unknown and all known in args.

Solution 3:

You need to add those arguments to the parser:

parser.add_argument("--arg1", "-a1", dest='arg1', type=str)
parser.add_argument("--arg2","-a2", dest='arg2', type=str)

If those arguments don't have the param required=true, you will be able to call the program without this arguments, so you can run the program with only the -h flag. To run the program with the arguments:

python test.py --arg1 "Argument" --arg2 "Argument"

Then, to have the arguments in variables you have to read them:

args = parser.parse_args()
argument1=args.arg1
argument2=args.arg2

Post a Comment for "Allow Unknown Arguments Using Argparse"