在Python中使用win32com时的无限循环

在Python中使用win32com时的无限循环,python,Python,我在运行win32com时遇到了无限循环。 代码如下所示,没有错误或msgs,在这方面的任何帮助都是非常感谢的。提前谢谢你 data : [{'filename':'example1.docx'},{'name':'John'},{'filename':'example2.docx'},{'name':'Jan'}] for i in data: name1 = i["[filename]"] name2 = now.strftime("%d%m

我在运行win32com时遇到了无限循环。 代码如下所示,没有错误或msgs,在这方面的任何帮助都是非常感谢的。提前谢谢你

    data : [{'filename':'example1.docx'},{'name':'John'},{'filename':'example2.docx'},{'name':'Jan'}]

    for i in data:
        name1 = i["[filename]"]
        name2 = now.strftime("%d%m%Y") + '__' + i["[filename]"]
        word = win32com.client.gencache.EnsureDispatch("Word.Application")
        word.Documents.Open(os.path.abspath(name1))
        word.ActiveDocument.SaveAs(os.path.abspath(name2))
        word.ActiveDocument.Close(False)
        word.Quit() 

尝试创建word实例并在循环外部退出它。为每个文档打开/关闭word既没有用处也没有浪费。试一试,然后报告是什么让你认为它一直在运行?另外,
name1=i[“[filename]”]
是一个关键错误。顺便问一下:你想实现什么?复制文件?您可以只使用文件副本而不使用word。@Jean-François Fabre所以…基本上,我有一个excel文件,每行的文本都将替换为匹配docx文件的文字。现在只有第一行可以工作了。@roganjosh我想它一直在运行,因为只有第一个docx文件可以更改和保存,而且我不能给终端任何命令。我必须关闭它,然后重新打开它。