2017-06-19 128 views
1

我已经继承了学校项目的这段代码,并且我需要为每个选项附加一个执行选项。基于多项选择执行脚本

每个选项都会执行另一个python脚本+参数。

如何为第二个选项“route.py -Q”添加一个“route.py -W”,为第三个选项添加一个“shutdown.py”?

from Tkinter import * 

def sel():  
    selection = "Component destination " + str(var.get())  
    label.config(text = selection) 

root = Tk() 
var = IntVar() 

R1 = Radiobutton(root, text="Send to warehouse", variable=var, value=1, command=sel) 
R1.pack(anchor = W) 

R2 = Radiobutton(root, text="Send to QA", variable=var, value=2, command=sel) 
R2.pack(anchor = W) 

R3 = Radiobutton(root, text="Stop process", variable=var, value=3, command=sel) 
R3.pack(anchor = W) 

label = Label(root) 
label.pack() 
root.mainloop() 
+0

缩进在您的代码中被破坏。 –

+0

代码正在工作,缩进仅在帖子中打破。 – MakavelliRo

+0

我们看不到您的代码,我们只能看到您的问题中有什么。如果你不太在意格式化你的代码,为什么你会期望人们足够小心地回答? 。 –

回答

0

在你的单选按钮的回调函数,你可以检查哪个按钮被刚才选择,然后运行使用if/elif声明所需的命令。

import os 

def sel(): 
    selValue = var.get() 
    if selValue == 1: 
     os.system("route.py -W") 
    elif selValue == 2: 
     os.system("route.py -Q") 
    elif selValue == 3: 
     os.system("shutdown.py") 

以参数启动Python脚本,你可以使用上面os.system()。但是更好的方法是重写该脚本以便可以导入它,并且可以调用该脚本中的函数,即as described here

+1

谢谢@Josselin,将在尝试重写脚本时尝试您建议的解决方法。 – MakavelliRo