我有一个函数,用于计算字典中每个键出现在文件列表中的次数(list_of_docs
)。
def calc(dictionary):
for token in dictionary:
count = 0
for files in list_of_docs:
current_file = open(files.name, 'r')
text = current_file.read()
line = text.split()
if token in line:
count +=1
return count
当我调用此函数时,它不会停止。当我中断程序时,它表示它卡在行line = text.split()
上。 (如果我删除该行,它会卡在text = current_doc.read()
上。)不确定程序为什么不停止?
答案 0 :(得分:0)
您没有关闭文件,请在阅读完毕后致电current_file.close()
。或者,您可以将文件读取包装在with
语句中:
with open(current_file, 'r') as f:
f.read()
...