Python keyword workaround
I was writing a simple tool and wanted to pass it from
and to
parameters. As usual, I used the optparse module to extract
these parameters from the command line.
Spot the syntax error
def do_something(from_here, to_here): .... from optparse import OptionParser parser = OptionParser() parser.add_option("--from") parser.add_option("--to") opts, files = parser.parse_args() do_something(opts.from, opts.to)
This code won’t work because from
is a keyword (it’s used to qualify module imports).
do_something(opts.from, opts.to) ^ SyntaxError: invalid syntax
One pragmatic way round this would be to change the command line parameters.
parser.add_option("--start") parser.add_option("--finish")
I didn’t want to do that, so here’s another.
do_something(getattr(opts, "from"), opts.to)