python tcl 外部_从Python运行TCL代码(在现有的TCL shell上)

第一个:

如果你只想用一个基于类的OO系统来编写代码,你不需要python,Tcl可以很好地实现OO。(在8.6中内置,但是在旧版本中也有很多选项可以获得OO特性、类等,例如Tcllibs SNIT或{a2}

如果您仍然认为Python是当前任务的高级工具(例如,由于对某些任务有更好的库支持),您可以使用Tcllib comm包“远程控制”Tcl解释器。这需要在您想要控制的tclshell中有一个工作的事件循环,但除此之外,它非常简单。在

在tclshell中,安装Tcllib comm包。

(如果需要帮助,请再次询问)

一旦你有了它,启动tclshell中的comm服务器。在package require comm

set id [::comm::comm self]

# write ID to a file

set fd [open idfile.txt w]

puts $fd $id

close $fd

proc stop_server {} {set ::forever 1 }

# enter the event loop

vwait forever

在python方面,您几乎是这样做的,只是在Tkinter代码中。在

基本上是这样的:

^{pr2}$

使用python代码和shell,您应该看到在shell中打印了Hello World。在

阅读通信手册了解更多细节,如何保护东西,获取回调等comm

如果您不喜欢tkinter的负担,您也可以实现wire procotol for comm,在Twisted或python3.x中新的异步支持中不应该太难。

在线协议记录在:

comm wire protocol

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值