知道 Python 与 Tcl 交互的任何创造性方法吗?

发布于 2024-07-24 23:05:01 字数 356 浏览 4 评论 0原文

情况是这样的。 我工作的公司有相当多的现有 Tcl 代码,但其中一些想开始使用 python。 如果能够重用一些现有的 Tcl 代码就好了,因为这些钱已经花掉了。 此外,一些测试设备只有Tcl API。

所以,我想到的方法之一是使用 subprocess 模块调用一些 Tcl 脚本。

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

Here's the situation. The company I work for has quite a bit of existing Tcl code, but some of them want to start using python. It would nice to be able to reuse some of the existing Tcl code, because that's money already spent. Besides, some of the test equipment only has Tcl API's.

So, one of the ways I thought of was using the subprocess module to call into some Tcl scripts.

  • Is subprocess my best bet?
  • Has anyone used this fairly new piece of code: Plumage? If so what is your experience (not just for Tk)?
  • Any other possible ways that I have not considered?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

溇涏 2024-07-31 23:05:01

我希望你已经准备好。 标准 Python

import Tkinter
tclsh = Tkinter.Tcl()
tclsh.eval("""
    proc unknown args {puts "Hello World!"}
    }"!dlroW olleH" stup{ sgra nwonknu corp
""")

在 Re 中编辑以发表评论:Python 的 tcl 解释器不知道其他已安装的 tcl 组件。 您可以通过以通常的方式向 tcl python 实际使用的扩展添加扩展来解决这个问题。 这是一个包含一些详细信息的链接

I hope you're ready for this. Standard Python

import Tkinter
tclsh = Tkinter.Tcl()
tclsh.eval("""
    proc unknown args {puts "Hello World!"}
    }"!dlroW olleH" stup{ sgra nwonknu corp
""")

Edit in Re to comment: Python's tcl interpreter is not aware of other installed tcl components. You can deal with that by adding extensions in the usual way to the tcl python actually uses. Here's a link with some detail

以可爱出名 2024-07-31 23:05:01

这是可以做到的。

http://wiki.tcl.tk/13312

具体看typcl扩展。

Typcl 有点奇怪...它是从 Python 使用 Tcl 的扩展。
它实际上并不需要 CriTcl,并且可以用标准 C 来完成。

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

This can be done.

http://wiki.tcl.tk/13312

Specificly look at the typcl extension.

Typcl is a bit weird... It's a an extension to use Tcl from Python.
It doesn't really require CriTcl and could have been done in standard C.

This code demonstrates using Tcl as shared library, and hooking into it
at run time (Tcl's stubs architecture makes this delightfully simple).
Furthermore, Typcl avoids string conversions where possible (both ways).

瞄了个咪的 2024-07-31 23:05:01

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

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

I've not used it myself, but SWIG might help you out:

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文