with open() в режиме добавления ('a' или 'ab').  При выходе из блока with файл автоматически закроется.  Например:
  with open('my_file.txt', 'a') as f:
    f.write('Новая строка для добавления.\n')
  'a' открывает файл для добавления текста, а 'ab' - для добавления байтов.
Контекстные менеджеры в Python, особенно при работе с файлами, обеспечивают автоматическое выполнение операций очистки, таких как закрытие файла, даже если в процессе работы возникли исключения. Для добавления данных в файл с использованием контекстного менеджера, нужно открыть файл в режиме 'a' (append). Вот пример:
with open('my_file.txt', 'a') as file:
    file.write("Новая строка данных.\n")
    file.write("Еще одна строка.\n")
# После выхода из блока 'with', файл автоматически закрывается.
    Разберем код:
with open('my_file.txt', 'a') as file::  Эта строка открывает файл 'my_file.txt' в режиме добавления ('a').  Режим 'a' гарантирует, что все записываемые данные будут добавлены в конец файла, не перезаписывая существующее содержимое. Контекстный менеджер with связывает открытый файл с переменной file.file.write("Новая строка данных.\n"):  Метод write() записывает строку "Новая строка данных.\n" в файл.  Символ \n добавляет символ новой строки, чтобы каждая запись оказывалась на отдельной строке.file.write("Еще одна строка.\n"): Аналогично, записывает другую строку в файл.with (т.е. после завершения отступов), контекстный менеджер автоматически вызывает метод file.close(), закрывая файл. Это гарантирует, что все данные будут записаны на диск и файл будет освобожден для использования другими процессами.Преимущества использования контекстных менеджеров:
В заключение, использование контекстного менеджера with open(...) as file: в режиме 'a' – это лучший способ для добавления данных в файл в Python, поскольку он обеспечивает надежность, чистоту и предотвращает утечки ресурсов.