I have a bunch of Python functions. Let\'s call them foo, bar and baz. They accept variable number of string arguments and do
With a little experimentation I discovered you can do something like this to create a tcl interpreter, register a python command, and call it from Tcl:
import Tkinter
# create the tcl interpreter
tcl = Tkinter.Tcl()
# define a python function
def pycommand(*args):
print "pycommand args:", ", ".join(args)
# register it as a tcl command:
tcl_command_name = "pycommand"
python_function = pycommand
cmd = tcl.createcommand(tcl_command_name, python_function)
# call it, and print the results:
result = tcl.eval("pycommand one two three")
print "tcl result:", result
When I run the above code I get:
$ python2.5 /tmp/example.py
pycommand args: one, two, three
tcl result: None