Я хочу прочитать содержимое списка файлов в python. Моя первая идея была
contents = [open(f).read() for f in files]
Но это оставляет файлы открытыми до тех пор, пока объекты не будут собраны мусором, и показывает ResourceWarning
.
Закрытие файлов требует нескольких пониманий :
fds = [open(f) for f in files]
contents = [fd.read() for fd in fds]
[fd.close() for fd in fds]
... что неестественно.
или al oop:
contents = []
for f in files:
with open(f) as fd:
contents.append(f.read())
... что довольно многословно и долго читать .
Есть ли другая альтернатива?