这是情况。我工作的公司有很多现有的Tcl代码,但有些人想开始使用Python。能够重用一些现有的Tcl代码会很好,因为那是已经花费的钱。此外,一些测试设备只有Tcl的API。
所以,我考虑的其中一种方法是使用subprocess模块调用一些Tcl脚本。
- subprocess是最好的选择吗?
- 是否有人使用过这个相当新的代码: Plumage? 如果使用了,您的经验如何(不仅限于Tk)?
- 还有其他可能的方法吗?
我希望你准备好了。标准Python。
import Tkinter
tclsh = Tkinter.Tcl()
tclsh.eval("""
proc unknown args {puts "Hello World!"}
}"!dlroW olleH" stup{ sgra nwonknu corp
""")
针对评论进行编辑:Python的tcl解释器不知道其他已安装的tcl组件。您可以通过以通常的方式将扩展添加到实际使用的tcl python中来解决此问题。这里是一个详细说明链接
这可以完成。
请特别关注Typcl扩展。
Typcl有点奇怪...它是一个扩展,用于从Python中使用Tcl。 它并不真正需要CriTcl,可以在标准C中完成。
此代码演示了如何使用Tcl作为共享库,并在运行时连接到它 (Tcl的存根结构使其非常简单)。 此外,Typcl在可能的情况下避免字符串转换(双向)。
我自己没有使用过,但是SWIG可能会对你有所帮助: