2017-10-16 131 views
0

我試圖在webapp中使用SoCo鎖定sonos的音量。我需要運行一個單獨的腳本來執行此操作。因此,當用戶按下鎖定按鈕時,它會持續運行一個循環,將音量設置爲該值,直到程序被調用或切換爲停止。 我需要在不同的腳本中完成它,就好像它在主代碼中我無法獲得任何用戶輸入來解鎖它。Python運行外部python程序

@app.route("/lock") 
def lock(): 
    run(togglelock.py) 
    return "ok" 

#togglelock.py 
toggle("F","T") 
sound1 = (sonos.volume) 
if toggle == "T": 
sonos1.volume = sound1 
else: 
    break 
+2

'run(togglelock.py)'=>'run(「togglelock.py」)'? –

+0

運行和切換不是命令,所以引號並不重要整個線路都沒有問題 – mRyan

回答

0

只要其他python文件在同一個目錄中,您可以在需要運行它時簡單地導入它。

def lock(): 
import togglelock 
return "ok" 
#do more stuff.... 
+0

我可以讓腳本在主腳本之外單獨運行,因爲它不可能脫離創建的while循環。當它進入while循環發送垃圾郵件時,將音量設置爲X,現在它只運行該代碼的一部分,而不檢查web應用程序,如果該按鈕被按下以關閉該應用程序。 – mRyan

+0

這聽起來像你想要做的事情需要另一個python實例。我不認爲像這樣並行運行兩個腳本是可行的。也許有辦法添加某種「事件監聽器」,但這可能不是微不足道的。 – SuperStew