Файловый ввод-вывод
Сайт: | Информатикс |
Курс: | Осенняя школа Фоксфорда 2016 |
Книга: | Файловый ввод-вывод |
Напечатано:: | Гость |
Дата: | Пятница, 27 Июнь 2025, 19:30 |
- В большинстве случаев это работает быстрее стандартного ввода-вывода.
- Приятно уметь работать с файлами, если мы пишем код для себя.
- На многих олимпиадах отсутствует возможнось работать со стандартным вводом-выводом
f = open("filename.txt", "r") # r - read - открыли файл для чтения
f = open("filename.txt", "w") # w - write - откыли файл для записи
f.write(string) - записать строку.
Нельзя писать число.
Перенос строки надо добавить самому.
a = 42
f.write(str(a) + "\n")
Если мы таким же образом хотим работать со станартным вводом-выводом, то
import sys
sys.stdin - стандартный ввод, оформленный, как файл
- 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);
Пишем в начале main'a
freopen("output.txt", "w", stdout);