无法将参数传递给由Tkinter函数调用的python脚本

时间:2014-08-08 11:42:35

标签: tkinter subprocess

我无法在为Tkinter中创建的按钮定义的函数中调用另一个python脚本。

这里是代码:

import subprocess
from Tkinter import *

def select (hf):
   subprocess.Popen("<MyScript.py> hf")

root = Tk()

var_hf = StringVar(root)
var_hf.set('Default')

option_hf = OptionMenu(root, var_hf, *["A", "B", "C"])
option_hf.pack()

button = Button (root, text = "Select", command= lambda: select(var_hf.get())
button.pack()

root.mainloop()

当我按下按钮&#34;选择&#34;时,我收到一条错误消息,指出&#34; hf&#34;不被识别为有效变量(&#34; hf&#34;被称为MyScript.py的参数)。

你知道为什么与Button相关的功能无法分配给&#34; hf&#34; var_hf.get()的价值?

提前谢谢你,

-G。

1 个答案:

答案 0 :(得分:0)

您实际上是将字符串“hf”传递给<MyScript.py>。我猜这不是你打算做的。一个简单的解决方案是:

subprocess.Popen("<MyScript.py> %s" % hf)