如何使用Python在同一个TCL shell上运行命令

Nit*_*esh 7 python tcl

我正在使用TCL编写所有库.我想在Python中创建一个GUI,它只有很少的按钮和其他选项.在开始TCL shell将打开.当我单击按钮时,将在TCL shell上执行相应的命令.

是否可以在不关闭TCL shell的情况下在TCL的同一shell上触发命令.

我搜索谷歌并Tkniter在Python中找到模块,但每次我需要执行命令时它都会打开TCL shell.

Col*_*eod 2

您当然可以使用 Tkinter 在同一个 Tcl 解释器中运行一系列命令:

Python 2.7.9 (default, Feb 28 2016, 05:52:45) [C] on sunos5
Type "help", "copyright", "credits" or "license" for more information.
>>> import Tkinter
>>> root = Tkinter.Tk()
>>> root.tk.eval('set msg "hello world"')
'hello world'
>>> root.tk.eval('string length $msg')
'11'
>>> root.tk.eval('foreach x {1 2 4} {puts "$msg $x"}')
hello world 1
hello world 2
hello world 4
''
>>> 
Run Code Online (Sandbox Code Playgroud)

- 这里变量 msg 在一个命令中设置,其值在后面的命令中使用,如果我们为每个命令创建一个新的解释器,这将不起作用。如果您不希望创建 Tk 窗口,只需运行root.tk.eval('wm withdraw .')即可隐藏它。

如果这不能回答您的问题,您最好解释一下您还需要什么:-)