使用python COM转换文件时出错

时间:2014-06-20 05:24:06

标签: python python-2.7 python-3.x com comtypes

我有一个非常简单的程序,它使用python comtypes模块将.doc个文件转换为.docx个文件:

代码是:

import sys
import os
import comtypes.client

wdFormatDOCX = 16

word = comtypes.client.CreateObject('Word.Application')
doc = word.Documents.Open("XYZ.doc")
doc.SaveAs("XYZ.docx", FileFormat=wdFormatDOCX)
doc.Close()
word.Quit()

输入文件位于同一目录中,但总是出错:

Traceback (most recent call last):
  File "F:\py\newProj\parse.py", line 8, in <module>
    doc = word.Documents.Open("XYZ.doc")
COMError: (-2146823114, None, (u'Sorry, we couldn\u2019t find your file. Is it 
possible it was moved, renamed or deleted?\r (C:\\Windows\\system32\\XYZ.doc)',  
u'Microsoft Word', u'wdmain11.chm', 24654, None))

我不知道为什么它在系统目录中搜索文件,即使我已经给出了相对路径。

即使我给出绝对路径,错误仍然存​​在。

那么这里有什么问题?

1 个答案:

答案 0 :(得分:0)

该路径需要转义。您可以在您所在的环境中或在系统上下文中启动Python。您可以通过转到终端并执行

import os
print(os.path)

为此,我使用了:

fulldocpath = os.getcwd() + "\\" + doc_file_name os.path.abspath(fulldocpath).replace('\\','\\\\\\\\')
doc = word.Documents.Add(osdocpath)