2017-06-19 94 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