知道将Python与Tcl接口的任何创造性方法吗?

时间:2009-06-16 23:40:12

标签: python tcl

这是情况。我工作的公司有很多现有的Tcl代码,但有些人想要开始使用python。很高兴能够重用一些现有的Tcl代码,因为这已经花了钱。此外,一些测试设备只有Tcl API。

因此,我想到的一种方法是使用子进程模块调用一些Tcl脚本。

  • 子流程是我最好的选择吗?
  • 有没有人使用过这段相当新的代码:Plumage?如果是这样,你的经历是什么(不仅仅是Tk)?
  • 我还没有考虑过任何其他可能的方法吗?

3 个答案:

答案 0 :(得分:19)

我希望你为此做好准备。标准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实际使用。这是一个包含一些细节的链接

答案 1 :(得分:3)

这可以做到。

http://wiki.tcl.tk/13312

具体看一下typcl扩展名。

  

Typcl有点奇怪......这是一个使用来自 Python的Tcl 的扩展。   它并不真正需要CriTcl,而且可以在标准C中完成。

     

此代码演示了如何使用Tcl作为共享库,并将其挂钩   在运行时(Tcl的存根架构使这个非常简单)。   此外,Typcl尽可能避免字符串转换(双向)。

答案 2 :(得分:0)

我自己没有用过,但SWIG可能会帮助你:

http://www.swig.org/Doc1.1/HTML/Tcl.html