Python | Про sys.stdin.read() и sys.stdout.write()

Mar 26, 2011 21:19

Решил вдруг разобраться поточнее с модулями sys.stdin, sys.stdout и sys.stderr. Обычно про эти модули пишут короткие примеры так, что вроде как тут все просто и должно быть все понятно. Но вот я так-таки заткнулся, пока все же не сварганил вот такой вот пример:

>>> import sys
>>> contents = sys.stdin.read()
a
b
EOF
>>> contents
'a\nb\nEOF\n'
>>> sys.stdout.write(contents)
a
b
EOF

Если его повторить у себя в терминале, то суть быстро становится ясна. sys.stdin.read() - это функция ввода данных, аналогичная функции input(). Соответственно, sys.stdout.write() - это функция вывода данных, аналогичная функции print(). Элементарная затыка вышла только с одним - как завершить процесса ввода данных? Оказалось, что после того, как я ввел последовательно a, b, EOF мне надо нажать комбинацию . Пока не додумался до этого - ничего не клеилось...

python

Previous post Next post
Up