【发布时间】:2021-08-26 07:34:05
【问题描述】:
我正在努力在 tcl 中运行 python 脚本。我想运行 tcl 脚本,以 tcl 变量作为参数调用 python 脚本,然后用 python 处理这些值并将它们传递给同一个 tcl 脚本进行下一步处理。
让我们假设它是 python 脚本:
import sys
def f(a,b):
return "set lista {" + a + " "+ b +"}"
result = f(sys.argv[1],sys.argv[2])
print(result)
和tcl一:
set num1 10
set num2 20
set output [exec python "python.py" $num1 $num2]
eval $output
puts [lindex $lista 0]
puts [lindex $lista 1]
我使用了 eval 语句,它对于这么小的列表非常有效。事实上,我将有更长的列表或浮点值和字符串,我想将它们分开。现在这个解决方案,使用eval,不太方便。
我的问题是,是否有可能“更直接”地传递变量?例如,每个值作为单独的变量甚至拆分列表,一个浮点值和另一个字符串。
我知道有 tkinter 库,但我是初学者,我还在学习......老实说我不知道应该如何使用它:)
谁能帮忙?
您好!
【问题讨论】:
-
是否必须处理返回值中的空格?
-
@Shawn 我不这么认为。数字对我来说是最重要的。