Во всех упражнениях этого листка ввод-вывод может быть как стандартным,
так и файловым (input.txt/output.txt
).
Если ввод-вывод осуществляется со стандартного ввода, то
иногда бывает удобно работать со стандартным вводом, как с файлом.
Например, если нужно прочитать сразу весь ввод, а не обрабатывать его построчно.
Или в ситуации, когда количество строк заранее неизвестно.
Для этого необходимо подключить модуль sys
, и использовать
объект stdin
, определенный в этом модуле, который
связан со стандартным вводом. Например, так:
import sys
# Читаем сразу весь ввод в переменную
full_input = sys.stdin.read()
import sys
# Обрабатываем ввод построчно
for line in sys.stdin.readlines():
a, b = line.split()
Для того, чтобы завершить ввод (послать программе сигнал о конце
файла при чтении из стандартного ввода) нужно нажать Ctrl+D
.
Аналогично, для вывода данных на стандартный вывод (на экран)
можно использовать объект stdout
и методы файлового вывода
(write
).