Max Erickson wrote: > I don't know much about optparse, but since I was bored: > >>>> help(o.parse_args) > Help on method parse_args in module optparse: > > parse_args(self, args=None, values=None) method of > optparse.OptionParser instance > parse_args(args : [string] = sys.argv[1:], > values : Values = None) > -> (values : Values, args : [string]) > > Parse the command-line options found in 'args' (default: > sys.argv[1:]). Any errors result in a call to 'error()', which > by default prints the usage message to stderr and calls > sys.exit() with an error message. On success returns a pair > (values, args) where 'values' is an Values instance (with all > your option values) and 'args' is the list of arguments left > over after parsing options. > >>>> o.parse_args('seven') > Traceback (most recent call last): > File "<pyshell#15>", line 1, in ? > o.parse_args('seven') > File "C:\bin\Python24\lib\optparse.py", line 1275, in parse_args > stop = self._process_args(largs, rargs, values) > File "C:\bin\Python24\lib\optparse.py", line 1322, in _process_args > del rargs[0] > TypeError: object doesn't support item deletion > > That's the result of poking an optionParser instance in Idle. > parse_args is expecting something that looks like sys.argv[1:], which > is a list. You are passing it a string. > > max > Yup.. the code now works as:
parser = OptionParser() if len(sys.argv) == 2: lines = open(sys.argv[1],"rb").readlines() for line in lines: line=line.strip() if not line: continue short, long, dest, help, default = line.split(";") help = "\t\t" + help # Prepend tabs to help message parser.add_option(short, long, dest=dest, help=help, default=default) else: parser.add_option("-m","--qmanager", dest="qmanager", help="\t\tQueue Manager to inquire against"), parser.add_option("-q","--queue", dest="queue", help="\t\tQueue the message will be sent to"), parser.add_option("-d","--dest", dest="dest", help="\t\tDestination File Name"), parser.add_option("-f", "--file", action="store", type="string", dest="filename", help="File to be transmitted", metavar="FILE") (options, args) = parser.parse_args() thanks all for the insight -- http://mail.python.org/mailman/listinfo/python-list