Файлы
note.txt — это имя на компьютере. Буквы внутри остаются и после того, как программа кончилась. Через open эта программа добирается до этого имени. Первая кладёт в файл короткую строку, вторая читает ту же строку. close на этой странице пишете вы сами. Закрыть файл, даже если строка остановится до close, — это следующая страница.
note = open("note.txt", "w", encoding="utf-8")
note.write("tea\n")
note.close()
На экране ничего нет, потому что эта программа ничего не печатает. write кладёт буквы tea в note.txt, а \n заканчивает строку. Если такого имени на компьютере нет, режим w создаёт файл. Если там уже были другие слова, w их стирает. После этой записи в файле только tea и перевод строки. Запись завершает close. До close не считайте строку сохранённой. encoding="utf-8" значит, что буквы хранятся как текст.
📊 Два способа открыть
| Режим | Что делает этот open |
|---|---|
| w | создаёт note.txt, если его нет, и стирает то, что было внутри |
| r | читает note.txt; если файла нет, программа останавливается с FileNotFoundError |
note = open("note.txt", "r", encoding="utf-8")
text = note.read()
note.close()
print(text)
Эта программа начинается заново и ничего не пишет. tea уже должна лежать в note.txt, как её оставила первая программа. read() отдаёт все символы одним текстом, и перевод строки входит в этот текст. print показывает tea, а следом пустую строку. Текст уже кончается переводом строки, и print добавляет ещё один. close выполняется ещё раз, и чтение закончено. encoding="utf-8" стоит и здесь, чтобы буквы вернулись как текст.
Если note.txt нет на компьютере и вы открываете его с r, программа останавливается. Имя этой остановки — FileNotFoundError. Этих строк нет в программах на этой странице. w создал бы файл, а не остановился. Python не выдумывает пустой текст, чтобы идти дальше.
close на этой странице — строка, которую вы пишете, когда закончили. Следующая страница берёт with, чтобы файл закрылся, даже если строка остановится до close. В этих программах with нет.
Что осталось в файле
Первый экран пуст, и после close в файле лежит tea. Режим w стирает прежние слова. Второй экран показывает tea, а следом пустую строку. Открытие отсутствующего файла с r останавливает программу. Следующая страница закрывает файл, даже если строка остановится.
🧠 Проверьте Свои Знания
Проверьте Свои Знания
Бросьте себе вызов с помощью этой интерактивной викторины и узнайте, насколько хорошо вы понимаете тему
📝 Инструкции
- Внимательно прочитайте каждый вопрос
- Выберите лучший ответ на каждый вопрос
- Вы можете пересдавать тест столько раз, сколько захотите
- Ваш прогресс будет показан вверху