我有一个非常简单的程序,它使用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))
我不知道为什么它在系统目录中搜索文件,即使我已经给出了相对路径。
即使我给出绝对路径,错误仍然存在。
那么这里有什么问题?
答案 0 :(得分:0)
该路径需要转义。您可以在您所在的环境中或在系统上下文中启动Python。您可以通过转到终端并执行
import os
print(os.path)
为此,我使用了:
fulldocpath = os.getcwd() + "\\" + doc_file_name os.path.abspath(fulldocpath).replace('\\','\\\\\\\\')
doc = word.Documents.Add(osdocpath)