Для записи данных в файл с использованием контекстного менеджера with, нужно открыть файл в режиме записи (например, 'w') внутри блока with.  Контекстный менеджер гарантирует, что файл будет автоматически закрыт после завершения работы блока, даже если возникнет исключение.
with open('my_file.txt', 'w') as f:
    f.write('Hello, world!')
  В этом примере файл my_file.txt открывается для записи, и строка 'Hello, world!' записывается в него. После завершения блока with, файл автоматически закрывается.
Использование контекстного менеджера with — это идиоматический и рекомендуемый способ работы с файлами в Python, потому что он гарантирует автоматическое закрытие файла после завершения работы с ним, даже если в процессе записи произошла ошибка. Это предотвращает утечки ресурсов и повреждение данных.
Вот пример записи данных в файл с использованием контекстного менеджера with:
with open('my_file.txt', 'w') as f:
    f.write('Hello, world!\n')
    f.write('This is another line.\n')
Разберем этот код:
with open('my_file.txt', 'w') as f:: Эта строка открывает файл my_file.txt для записи ('w' режим).  Конструкция with создает контекст, в котором файл представлен переменной f.  Если файла не существует, он будет создан. Если файл существует, его содержимое будет перезаписано.f.write('Hello, world!\n'): Эта строка записывает строку "Hello, world!" в файл.  \n добавляет символ новой строки.f.write('This is another line.\n'): Эта строка записывает строку "This is another line." в файл.  Опять же, \n добавляет символ новой строки.Важно отметить:
with (т.е., когда отступ заканчивается), файл автоматически закрывается.  Вам не нужно явно вызывать f.close().'w' открывает файл для записи и перезаписывает существующее содержимое. Если вы хотите добавить данные в конец файла, используйте режим 'a' (append).  Если вы хотите прочитать и записать данные, используйте режим 'r+'.'wb').Пример добавления данных в файл:
with open('my_file.txt', 'a') as f:
    f.write('Adding more content to the file.\n')
Обработка исключений:
Контекстный менеджер также упрощает обработку исключений. Если во время записи в файл возникнет исключение, файл все равно будет закрыт:
try:
    with open('my_file.txt', 'w') as f:
        f.write('Some data.\n')
        raise ValueError('Simulated error')  # Симулируем ошибку
        f.write('This line will not be executed.')
except ValueError as e:
    print(f'An error occurred: {e}')
# File is closed here, even if the error happened inside the 'with' block
В этом примере, даже если возникнет исключение ValueError, файл все равно будет надежно закрыт после выхода из блока with.
Таким образом, использование with является безопасным и надежным способом записи данных в файлы в Python.