从Python访问Tcl函数的示例

Rei*_*ica 5 python tcl

elmer使人们可以从Tcl运行Python代码.反过来呢?有谁可以在Python中举个例子?

更新:我的意思是,能够访问Tcl对象,调用Tcl函数等,而不是简单地运行一些Tcl代码.

Mik*_*ton 7

这是一个相当古老的线程,但我最近偶然发现,Tkinter.Tcl()它让您可以直接访问python中的Tcl解释器,而无需根据Tkinter.Tk()需要生成Tk GUI.

一个例子......假设你有一个foo.tcl带有proc 的Tcl文件(),main它需要一个文件名作为参数... main返回一个从读取派生的字符串foo.tcl.

from Tkinter import Tcl

MYFILE = 'bar.txt'
tcl = Tcl()
# Execute proc main from foo.tcl with MYFILE as the arg
tcl.eval('source foo.tcl')
tcl_str = tcl.eval('main %s' % MYFILE)
# Access the contents of a Tcl variable, $tclVar from python
tcl.eval('set tclVar foobarme')
tclVar = tcl.eval('return $tclVar')
Run Code Online (Sandbox Code Playgroud)

除了通过返回值,我还没有找到另一种从python访问Tcl对象的方法,但这确实为你提供了一种与Tcl procs接口的方法.此外,您可以将python函数导出到Tcl中,如在Tkinter.Tcl()使用Python函数中所述.


Luc*_* S. 4

您可以查看 python tkinter 标准模块,它是到 Tk UI 的绑定,但在后台执行 Tcl 代码。