Файл создается функцией open с указанием режима. Режим 'w' — запись с нуля, существующий файл будет очищен без предупреждения, это частая причина потери данных у новичков, если случайно открыть в 'w' файл, который уже что-то хранил. Режим 'a' — добавление в конец, файл создастся, если его нет, и не тронет то, что уже записано. Режим 'x' — создание нового файла, если он уже существует, питон выдаст ошибку FileExistsError, это удобно, когда важно не перезаписать чужие данные случайно.
Правильная форма выглядит так: with open('data.txt', 'w', encoding='utf-8') as f: f.write('текст'). Конструкция with гарантирует закрытие файла даже при исключении внутри блока, ручной вызов close можно забыть, особенно если между open и close вылетит ошибка — тогда файл останется висеть открытым до завершения программы, а на некоторых системах несохраненные данные вообще потеряются.
Явно указывайте encoding='utf-8', иначе на Windows питон по умолчанию может использовать системную кодировку вроде cp1251, и при чтении файла на другой машине или другой программой кириллица превратится в кракозябры. Это поведение отличается между Windows и Linux, так что не полагайтесь на кодировку по умолчанию.
Путь к файлу может быть относительным или полным. Относительный путь отсчитывается от текущей рабочей директории, откуда запущен скрипт, а не от папки, где лежит сам файл — это частая путаница, из-за которой файл создается совсем не там, где ожидалось. Для надежной работы с путями в современном питоне удобнее модуль pathlib: Path('папка') / 'data.txt'.
Если нужно записать не текст, а структуру данных вроде списка или словаря, обычным write это не сделать напрямую — списки и словари нужно сначала превратить в строку, например через модуль json, или писать построчно в цикле.
Лучший ответ
4o
4o
Как создать файл в python?
Чтобы создать файл и записать туда текст, нужно несколько шагов.