argparse - Python parse_known_args with named arguments -


i pass arbitrary set of arguments in format --arg1 value1 python script , retrieve them in dictionary of kind {'arg1': 'value1}. want use argparse achieve that. function parse_known_args allows args, can retrieved simple list , not named.

a better idea define one option takes 2 arguments, name , value, , use custom action update dictionary using 2 arguments.

class optionappend(action):     def __call__(self, parser, namespace, values, option_string):         d = getattr(namespace, self.dest)         name, value = values         d[name] = value  p.add_argument("-o", "--option", nargs=2, action=optionappend, default={}) 

then instead of myscript --arg1 value1 --arg2 value2, write myscript -o arg1 value1 -o arg2value1, , after args = parser.parse_args(), have args.o == {'arg1': 'value1, 'arg2': 'value2'}.


this analogous use of list or dictionary hold set of related variables, instead of set of individually named variables.

 #  v = [x, y, z]  v = { 'key1': x, 'key2': y, 'key3': z}  # bad  v1 = x  v2 = y  v3 = z 

Comments

Popular posts from this blog

java - Jasper subreport showing only one entry from the JSON data source when embedded in the Title band -

mapreduce - Resource manager does not transit to active state from standby -

serialization - Convert Any type in scala to Array[Byte] and back -