On Jun 28, 3:30 pm, dirknbr <dirk...@gmail.com> wrote: > I get an int object is not callable TypeError when I execute this. But > I don't understand why. > > parser = optparse.OptionParser("usage: %lines [options] arg1") > parser.add_option("-l", "--lines", dest="lines", > default=10, type="int", > help="number of lines") > parser.add_option("-t", "--topbottom", dest="topbottom", > default="T", type="str", > help="T(op) or B(ottom)") > > (options, args) = parser.parse_args() > if len(args) != 1: > parser.error("incorrect number of arguments") > lines=options.lines > tb=options.topbottom > > Dirk > lines(args[0],topbottom=tb,maxi=lines)
optparse is so old-fashioned. Use plac! $ cat x.py import plac @plac.annotations( lines=('number of lines', 'option', 'l', int), topbottom=('T(op) or B(ottom)', 'option', 't', str, 'TB')) def main(arg, lines=10, topbottom='T'): print arg, lines, topbottom if __name__ == '__main__': plac.call(main) $ python x.py -h usage: x.py [-h] [-l 10] [-t T] arg positional arguments: arg optional arguments: -h, --help show this help message and exit -l 10, --lines 10 number of lines -t T, --topbottom T T(op) or B(ottom) (see http://pypi.python.org/pypi/plac) -- http://mail.python.org/mailman/listinfo/python-list