以下代码运行良好,但如果从CherryPy应用程序方法中执行,则会出现错误消息
我找不到任何关于
CoInitialize未被调用
:import win32com.client
xl = win32com.client.Dispatch("Excel.Application")
xl.quit()
这个帖子提供了一个对我有用的解决方案:
import pythoncom
pythoncom.CoInitialize()
我之所以询问一个我已经有解决方案的问题,是因为(1)我想知道我在做什么(而不仅仅是因为我曾经看到过它起作用),并且(2)我不想冒错过重要的东西的风险(阅读这篇帖子让我认为我确实错过了某些东西)。我找不到任何关于
pythoncom.CoInitialize()
的文档,而pythoncom的源代码只有以下三行,对我没有帮助(Eclipse + PyDev也说该方法不存在):# Magic utility that "redirects" to pythoncomxx.dll
import pywintypes
pywintypes.__import_pywin32_system_module__("pythoncom", globals())