2017-10-16 206 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