У меня есть список python list_of_docs
, который содержит список закрытых TXT-файлов. Моя цель - подсчитать, сколько файлов содержит определенное слово.Не удается открыть файлы из списка закрытых файлов python?
def contains(word):
count = 0
for file in range list_of_docs:
current_doc = open(list_of_docs[file], 'r')
text = current_doc.read()
line = text.split()
if word in line:
count += 1
Когда я вызываю эту функцию, я получаю ошибку:
TypeError: coercing to Unicode: need string or buffer, file found
Файлы в list_of_docs
, фактически открыт ранее в коде. Я закрываю их и снова открываю их во время вызова этого метода, потому что, не закрывая их, я получаю ошибку Too many files open
.
Как я могу исправить это TypeError
?
'open()' ожидает имя файла (не обработчик закрыт файл), поэтому 'list_of_docs' должен быть списком имен файлов. – furas