地址中的Python通配符

2024-06-08 19:59:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我找到了主题OSC message handlers with wildcards,它几乎和我的主题差不多。我想要一个通用的处理程序,而不是8个地址的8个处理程序。 代码片段显示了Dispatcher1…8的调用以及常规的1和2个处理程序。在

# dispatcher.map("/presets/1", preset_handler_1, preset01)
# dispatcher.map("/presets/2", preset_handler_2, preset02)
# dispatcher.map("/presets/3", preset_handler_3, preset03)
# dispatcher.map("/presets/4", preset_handler_4, preset04)
# dispatcher.map("/presets/5", preset_handler_5, preset05)
# dispatcher.map("/presets/6", preset_handler_6, preset06)
# dispatcher.map("/presets/7", preset_handler_7, preset07)
# dispatcher.map("/presets/8", preset_handler_8, preset08)
dispatcher.map("/presets/*", preset_handler, activePreset)

def preset_handler_8(unused_addr, args, val):
  if (val==1):
    print (args[0],"active")
    activePreset=8

def preset_handler(addr, args, val):
  print("phNDLER active")
  if (val==1):
    PRINT("HANDLER ACTIVE")
    preset_num=str(addr[-1])
    print (preset_num)
    activePreset=preset_num

似乎我只能在OSC消息中实现一个通配符来触发多个处理程序,但不能反过来。 有机会在处理程序调用中使用通配符吗? 干杯Stefan


Tags: 处理程序map主题defargsvalnumosc