Оставлять файл открытым - вредная привычка.Что происходит, если другие приложения должны читать или записывать в тот же файл?Поскольку вы открыли его в режиме записи, он заблокирован, и никакое другое приложение не сможет получить к нему доступ, пока он не будет закрыт (выпущен).
Если вы хотите получить доступ к файлу из нескольких функций или сценариев, сохраните его имя файла:
self.filename = "d:\members2.txt"
и, когда вам нужно, вы открываете (а затем закрываете) его.
В качестве рекомендации не используйте f = open(...)
.Используйте ключевое слово safe with
.
with open("d:\members2.txt", 'w') as f:
f.write('...')
После выхода из области действия с ресурсом (в данном случае файловым потоком) автоматически закрывается и освобождается.Это безопасность закрыта даже в случае исключений.Документация Python гласит (выделение добавлено): оператор
with
позволяет выполнять инициализацию и финализацию кода вокруг блока кода
Более того, вам не нужно явно сбрасывать файл.После выхода из блока with файл автоматически закрывается и сбрасывается