views:

999

answers:

2

I'm using the python optparse module in my program, and I'm having trouble finding an easy way to parse an option that contains a list of values. For example:

--groups one,two,three.

I'd like to be able to access these values in a list format as options.groups[]. Is there an optparse option to convert comma seperated values into a list? or do I have to do this manually?

+8  A: 

Look at option callbacks. Your callback function can parse the value into a list using a basic optarg.split(',')

S.Lott
+12  A: 

S.Lott's answer has already been accepted, but here's a code sample for the archives:

def foo_callback(option, opt, value, parser):
  setattr(parser.values, option.dest, value.split(','))

parser = OptionParser()
parser.add_option('-f', '--foo',
                  type='string',
                  action='callback',
                  callback=foo_callback)
Can Berk Güder