◆ 问题汇总:
1、多线程使用pywin32com造成的问题:
pywintypes.com_error: (-2147221008, '尚未调用 CoInitialize。', None, None)
解决方法:
在线程启动时先运行pythoncom.CoInitialize()
import pythoncom
class SecretFile(object):
def _save_tmpfile(self, passwd):
pythoncom.CoInitialize() #先运行pythoncom.CoInitialize()
xlApp = wct.DispatchEx("Excel.Application")
xlApp.DisplayAlerts = False
xlwb = xlApp.Workbooks.Open(self.filename, False, True, None, passwd)
xlwb.SaveAs(self.tmpfile, None, "")
xlwb.Close()
xlApp.Quit()
del(xlApp)
本文介绍在Python多线程环境下使用PyWin32时遇到的COM错误(-2147221008),并提供了解决方案。在每个线程开始前调用pythoncom.CoInitialize()可以避免此错误。
1560

被折叠的 条评论
为什么被折叠?



