#python #python-3.x #speech-recognition #python-dragonfly
#python #python-3.x #распознавание речи #python-dragonfly
Вопрос:
Недавно я начал заниматься DragonFly (из-за незначительных проблем с RSI), и я использую его с WSR и wsr_module_loader_plus.py сценарий.
Одна вещь, которую я нахожу действительно раздражающей, это то, что всякий раз, когда я настраиваю грамматику, мне нужно перезапускать основной скрипт. Закрытие занимает несколько секунд после того, как я нажимаю Ctrl C (idk почему), что только добавляет скуки.
Возможно ли выполнить горячую перезагрузку грамматик с помощью команды? Я видел демонстрацию, где докладчик делал это, но они использовали Dragon NaturallySpeaking, а не WSR.
Здесь я упускаю что-то очевидное, но я новичок в Python. Если я в конечном итоге выясню это, я обязательно опубликую решение… Поиск в Google не помог ._.
(В качестве альтернативы, также может работать голосовая команда только для завершения скрипта, но это только ускоряет перезапуск, а не избавляет от них полностью.)
Ответ №1:
Оказывается, это на самом деле довольно просто. Путем копирования кода в wsr_module_loader_plus.py скрипт и поместив это в свою собственную команду, я смог заставить dragonfly перезагрузить скрипты.
Это рассматриваемый код:
import os.path
from dragonfly.loader import CommandModuleDirectory
def reload():
path = os.path.dirname(__file__)
directory = CommandModuleDirectory(path, excludes=[__file__])
directory.load()
Тогда это просто вопрос выполнения команды, вызывающей команду reload .
При этом я не считаю, что это идеальное решение. Я не думаю, что это фактически выгружает какие-либо старые грамматики. Я пока оставлю это в качестве ответа, но я не думаю, что это лучшее решение.