我正在使用python 2.7.8。我正在同时处理30个打开的docx文件。 有没有办法用python代码同时关闭所有文件而不是分别关闭每个文件?
更新:
我每天都在使用不同的文件,因此每次都会更改文件的名称。我的代码通常必须没有特定的名称文件(如果可能的话)
答案 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()