import argparse def div_lister(_num, _res): if _num % 2 == 0: # print(2) return True return _res def pars_hnd(*args): return 'nothing downloaded' parser = argparse.ArgumentParser() # parser.add_argument('-n', action='store_false') parser.add_argument('-d', action='store_const', const=div_lister, dest='cmd') parser.add_argument('-integ', type=int) parser.add_argument('-integ2', type=int) parser.add_argument('-n', action='store_const', const=pars_hnd, dest='cmd') # sp = parser.add_subparsers(dest='cmdstr') # sp1 = sp.add_parser('-d') # sp1.set_defaults(cmd=div_lister(2)) # sp2 = sp.add_parser('-n') # sp2.set_defaults(cmd=lambda: 'not downloading') # print(parser.argument_default) args = parser.parse_args() # ['-integ=2', '-integ2=6', '-d'] print(args.cmd(args.integ, args.integ2)) # print(args) # print(args.d) # print(div_lister(2))