需要注意的一些坑:

  • Open方法只能读取绝对路径
  • word和doc不要在代码中中途关闭
  • 使用时不要打开word,并在后台杀死word进程
import os
import win32com.client as win32
if __name__ == '__main__':
    folder = "./files"
    i = 1
    word = win32.Dispatch("Word.Application")
    try:
        for filename in os.listdir(folder):
            if filename.endswith('.doc'): 
                filepath = os.path.join(folder, filename)  
                filepath = os.path.abspath(filepath)
                doc = word.Documents.Open(filepath) 
                if not os.path.exists(filepath+'x'):
                    doc.SaveAs(filepath+'x', FileFormat=16)
                    print('转换文件{}:{}'.format(i, filepath))
                    i += 1
        word.Quit()
    except:
        word.Quit()

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐