使用下面的代码我可以调用 Proc.tcl 文件中的所有过程,但我想单独调用 sum 或 sub 之类的过程,请让我知道调用它的任何其他可能性
我的proc文件程序,
puts "hello"
proc sum {a b} {
set c [expr $a + $b]
puts "Addition: $c "
}
proc sub {a b} {
set c [expr $a - $b]
puts "Substraction: $c "
}
我的主文件程序,
import Tkinter
import os
r=Tkinter.Tk()
r.tk.eval('source proc.tcl')
最佳答案
就这样继续吧
>>> import Tkinter
>>> r = Tkinter.Tk()
>>> r.tk.eval('proc sum {a b} {set c [expr {$a + $b}]; puts "Sum $c"; return $c}')
''
>>> r.tk.eval('sum 2 5')
Sum 7
'7'
因此,在您的情况下,获取 tcl 文件后,您只需执行 r.tk.eval("sum 5 5")
即可调用该过程。
注意:在 tcl 中总是用括号括起 expr 表达式。正如我上面的例子。
关于python - 如何使用 Python 调用 TCL 过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16439936/