Python Argparse - Set default value of a parameter to another parameter -


i've added parameter -c, want add parameter called -ca. how can set default value of -ca -c? want if -ca not specified, assign -c -ca.

parser.add_argument("-c", type=str)  parser.add_argument("-ca", type=str, default=xxx) 

thanks.

normally, single dash flags single characters. -ca unwise, though not illegal. in normal posix practice interpreted -c a or -c -a.

also argparse allows flagged arguments (optionals) occur in order.

parsing starts out assigning defaults. when relevant flag encountered, new value overwrites default. given order, it's impossible 1 argument take on value of default.

in general interactions between arguments best handled after parsing. there mutually_exclusive grouping, no mutually_inclusive. can build in sort of interaction via custom action classes, implementing work post-parsing testing.

in sum, simplest thing use default default, none, , test

if args.ca none:     args.ca = args.c 

Comments

Popular posts from this blog

python Tkinter Capturing keyboard events save as one single string -

android - InAppBilling registering BroadcastReceiver in AndroidManifest -

javascript - Z-index in d3.js -