Насколько я понимаю, нельзя полагаться на механизм GC для правильного закрытия открытого файла, поскольку он не переносим между различными интерпретаторами Python.
Я также понимаю, что близкий эквивалент RAII реализован с использованием контекстов.
Например, следующий контекст with автоматически вызывает close()< /code>, когда область применения оператора with заканчивается.
Код: Выделить всё
with open(filename, 'w') as ofile:
# pass
# ofile.close() called automatically (literally, or effectively?)
Подробнее здесь: https://stackoverflow.com/questions/787 ... if-flush-i