如何在金字塔(线程)中使用python和windows com?

xli*_*iiv 1 python com multithreading pyramid

我通过win32com.client.Distpatch函数连接到MS Word,并且在第二个请求中我遇到错误:'CoInitialize尚未被调用.' 我找到了这个话题:

http://www.velocityreviews.com/forums/t328097-coinitialize-error-when-using-adodbapi.html

并得到我必须在新线程中调用CoInitialize.所以问题是在金字塔中调用CoInitialize函数的位置.

xli*_*iiv 5

所以我在功能中添加了CoInitialize的调用:

@subscriber(NewRequest)
def new_request_subscriber(event):
    import pythoncom
    pythoncom.CoInitialize()
Run Code Online (Sandbox Code Playgroud)

并毫无例外地工作.