Я пытаюсь вызвать API преобразования текста в речь из Python, используя win32com.client. Интерпретатор Python связан с Splunk, и я могу вызвать его вручную, используя "splunk cmd python".
Вот образец
from win32com.client import constants
import win32com.client
speaker = win32com.client.Dispatch("SAPI.SpVoice")
speaker.Speak('this is a test')
Мой код вызывается через процесс splunkd (работает как обычный пользователь Windows), и я получаю следующее сообщение об ошибке.
(-2147352567, 'Исключение произошло.', (0, Нет, Нет, Нет, 0, -2147200925), Нет)
Я изо всех сил пытаюсь решить проблему, какие-либо предложения?
Входящая в комплект версия Python — Python 2.6.4 (r264:75706, 7 февраля 2011 г., 14:20:39) [MSC v.1400, 64 бит (AMD64)]
Кросс-пост из Splunk Answers http://splunk-base.splunk.com/answers/31181/debugging-custom-search-commands
== update == Я отследил проблему до процесса запуска интерпретатора Python. По какой-то причине процессы взаимодействуют со средой таким образом, что интерпретатор python ведет себя по-другому. Я подозреваю, что ошибка win32 на самом деле является нарушением прав доступа.