pywintypes.com_error: (-2147221008, '尚未调用 CoInitialize。', None, None)
2016-12-09 15:42
1721 查看
1. 使用多线程编程,且需要调用win32com模块来打开word文档时,常见的错误如下:
IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_IDispatch) com_error: (-2147221008, '\xc9\xd0\xce\xb4\xb5\xf7\xd3\xc3 CoInitialize\xa1\xa3', None, None)将第二行error中的第二项,打印出来是:“尚未调用 CoInitialize”,那么在代码中加入如下两行代码,即可解决:
import pythoncom pythoncom.CoInitialize()那么pythoncom是用来做什么的呢?在网址http://docs.activestate.com/activepython/2.4/pywin32/pythoncom.html中,查询pythoncom的CoInitialize()函数的解释是:Initialize the COM libraries for the calling thread.2. 读取word文档的内容,常见错误是,读英文的时候,没有问题,但是碰到中文的时候,就会报错,见下面代码:
1 import win32com2 from win32com.client import Dispatch3 msword = Dispatch('Word.Application')4 msword.Visible = 05 msword.DisplayAlerts = 06 doc = msword.Documents.Open(FileName=u"J:\\study.docx", Encoding='gb18030')7 range = doc.Range(doc.Content.Start, doc.Content.End)8 text = range.__str__()出现的错误是:UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-18: ordinal not in range(128)修改成unicode(range),还是报错,后修改成text = unicode(range()),才得以解决,但是具体原因还没有探明。
相关文章推荐
- pywintypes.com_error: (-2147352567, '发生意外 解决方案 :出现在Python调用WPS中
- python报错:pywintypes.com_error: (-2147221005,,None,none)
- [cPAMIE] pywintypes.com_error问题
- [cPAMIE] pywintypes.com_error问题
- [cPAMIE] pywintypes.com_error问题
- [cPAMIE] pywintypes.com_error问题
- [cPAMIE] pywintypes.com_error问题
- [cPAMIE] pywintypes.com_error问题
- [cPAMIE] pywintypes.com_error问题
- 关于python3.5-32 pyinstaller 启动时提示"ImportError: No system module 'pywintypes' (pywintypes35.dll)的解决方法"
- PamIE 和COM调用IE出错: TypeError: getElementById() takes exactly 1 argument (2 given)
- 尚未调用 CoInitialize
- delphi ADOQuery '尚未调用 CoInitialize。
- 对 COM 组件的调用返回了错误 HRESULT E_FAIL。ERROR 000622:
- Delphi7 尚未调用CoInitialize 与 Application 的图标丢失
- 学习C#中调用COM,后期绑定(以及对WinHttp COM对象的C#封装)
- delphi ADOQuery '尚未调用 CoInitialize。
- [Error] MainFrm.pas(107): Incompatible types: 'MAPGISMAPCOMLib_TLB.IMap' and 'EDITVIEWLib_TLB.IMap'
- 尚未调用 CoInitialize
- COM 经验的八个教训(1):总是调用 CoInitialize(Ex)