我正在编写一个Python脚本,当我按下MIDI键盘上的某个键时会执行操作:
# https://github.com/superquadratic/rtmidi-python/
import rtmidi_python as rtmidi
def callback(message, time_stamp):
print message, time_stamp
midi_in = rtmidi.MidiIn()
midi_in.callback = callback
midi_in.open_port(0)
# do something else here (but don't quit)
现在,如何保持脚本处于活动状态,以便它响应地处理回调,同时不通过旋转它来消耗不必要的CPU?
从我早期的Visual Studio时代起,我记得'while(true){doevents(); }'type construct - 操作系统循环通过活动进程为每个进程分配一个特定的时间片,而这个命令只是将控制权返回给调度程序。
但我在OSX上,我想制作一个独立于平台的Python脚本。
可以吗?
答案 0 :(得分:0)
while True:
dance_the_merry_dance()
if should_exit():
break
使用while true。您可以阻止事件,或者如果您有文件句柄,甚至可以使用select。