如何用python代码关闭30个打开的ms-word文件?

时间:2015-02-22 07:17:36

标签: python ms-word

我正在使用python 2.7.8。我正在同时处理30个打开的docx文件。 有没有办法用python代码同时关闭所有文件而不是分别关闭每个文件?

更新:

我每天都在使用不同的文件,因此每次都会更改文件的名称。我的代码通常必须没有特定的名称文件(如果可能的话)

3 个答案:

答案 0 :(得分:0)

我建议在打开文件时使用with语句:

with open('file1.txt', 'w') as file1, open('file2.txt', 'w') as file2:
    file1.write('stuff to write')
    file2.write('stuff to write')
    ...do other stuff...

print "Both files are closed because I'm out of the with statement"

当您离开with语句时,您的文件将关闭。您甚至可以在一行上打开所有文件,但除非您一次主动使用所有20个文件,否则不建议这样做。

答案 1 :(得分:-1)

您需要找到word文件的pid,然后使用kill方法终止word文件的进程。 e.g

import os
os.kill(pid, signal.SIGTERM)

答案 2 :(得分:-1)

首先,您必须在列表中附加所有打开的文件对象。

l = []
f1 = open('f1.txt'):
    #...do something
l.append(f1)
f2 = open('f2.txt'):
    #...do something
l.append(f2)

现在从列表中获取所有文件对象并关闭它们。

for files in l:
    files.close()