I am trying to use the argparse library with python2 but it always gives error:
Code:
parent_parser = argparse.ArgumentParser()
sub_parsers = parent_parser.add_subparsers(title = "actions")
parser_create = sub_parsers.add_parser("create", parents = [parent_parser], add_help = False, description = "Create new Customer account.", help = "create")
parser_create.add_argument('-p', '--password', help = 'User Password', required = True)
parser_create.add_argument('-n', '--fullname', nargs = 2, help = 'User Full Name', required = True)
parser_create.add_argument('-e', '--email', required = True, help = "User Email address")
parser_deactivate = sub_parsers.add_parser("deactivate", parents = [parent_parser], add_help = False, description = "Deactivate existing customer account.", help = "deactivate.")
parser_deactivate.add_argument('-e','--email', required = True, help = "User Email address")
args = parent_parser.parse_args()
Output:
[root@localhost ~]# python2 create-user.py deactivate -e o@x.com
usage: create-user.py deactivate [-h] -e EMAIL {create,deactivate} ...
create-user.py deactivate: error: too few arguments
Same error appears when using the create
instead of deactivate
.
also it works perfectly fine with python3.x.