第一个:
如果你只想用一个基于类的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