Python Optparse list

Viewed 25768

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 separated values into a list? Or do I have to do this manually?

4 Answers

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)

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

Related