Пробую такие конструкции:
file = open('file.txt').read()
open('copy_file.txt', 'w').write(file)
Почему-то все работает... Из опыта работы с другими языками я ожидал увидеть некоторые странности в связи с открытыми потоками (я их не закрываю), но все отлично работает. Даже при многократном запуске. И не похоже, что есть проблема утечки памяти. Почему так ? В документации ничего не нашел на эту тему...
Ответ
У вас память используется только для хранения содержимого file.txt в переменной file.
А открытые потоки закрываются и собираются сборщиком мусора сразу как заканчивается чтение или запись, так как у вас нет ссылок на эти объекты.
Про сборку можно почитать по этой ссылке: http://arctrix.com/nas/python/gc/
Комментариев нет:
Отправить комментарий