Файловый ввод-вывод

Сайт: Информатикс
Курс: Осенняя школа Фоксфорда 2016
Книга: Файловый ввод-вывод
Напечатано:: Гость
Дата: Пятница, 27 Июнь 2025, 19:30
  1. В большинстве случаев это работает быстрее стандартного ввода-вывода.
  2. Приятно уметь работать с файлами, если мы пишем код для себя.
  3. На многих олимпиадах отсутствует возможнось работать со стандартным вводом-выводом
f = open("filename.txt", "r") # r - read - открыли файл для чтения
  • f.readline() - считать строку, причём перенос строки не удалится, как input()
  • f.readlines() - считать всё до конца файла, вернёт список строк, как если бы мы их читали readline-ами
  • f.read() - считать всё до конца файла, вернёт сплошную строку.
  • f.read(42) - считать 42 символа в строку.

f = open("filename.txt", "w") # w - write - откыли файл для записи
f.write(string) - записать строку.
Нельзя писать число.
Перенос строки надо добавить самому.
a = 42
f.write(str(a) + "\n")

Если мы таким же образом хотим работать со станартным вводом-выводом, то
import sys
sys.stdin - стандартный ввод, оформленный, как файл
Пишем в начале файла

#include <cstdio>
Пишем в начале main'a

freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);