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

无法将参数传递给Tkinter函数调用的python脚本,tkinter,subprocess,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, *["

我无法在为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()
导入子流程
从Tkinter进口*
def选择(hf):
子流程Popen(“hf”)
root=Tk()
var_hf=StringVar(根)
变量集(“默认值”)
option_hf=OptionMenu(根,变量_hf,*[“A”、“B”、“C”])
选项_hf.pack()
按钮=按钮(root,text=“Select”,command=lambda:Select(var\u hf.get())
button.pack()
root.mainloop()
当我按下“选择”按钮时,会出现一个错误,指出“hf”未被识别为有效变量(“hf”被称为MyScript.py的参数)

您知道为什么与按钮相关联的函数无法将
var\u hf.get()
获取的值分配给“hf”吗

提前谢谢大家,


G.

您实际上是在将字符串“hf”传递给
。我猜这不是您想要做的。一个简单的解决方案是:

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