How to define "exec" method on a class object? Get syntax error due to built in command

Kyle stalkernew at gmail.com
Mon Mar 25 21:28:34 CET 2013


I am using swig to generate our CLI for TCL and Python. In this CLI, we have a subcommand "exec" that is failing to compile in the python case. There seems to be some built-in python command "exec" which is giving a syntax error in the .py file generated by swig when I try to import it:

   def exec(*args): return _wbt_daemon.dm_cli_exec(*args)
           ^
SyntaxError: invalid syntax

I don't really want to change the CLI commands or make them different between languages. Is there any way to define a method called "exec" on a class? It would be executed as obj.exec() so I don't see why it should conflict with the built in "exec" command.

class dm_cli(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, dm_cli, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, dm_cli, name)
    def __init__(self): raise RuntimeError, "No constructor defined"
...
    def exec(*args): return _wbt_daemon.dm_cli_exec(*args)
...
}




More information about the Python-list mailing list