Андрей СветловУгу, а теперь запусти grep “” и вводи по сторочке с клавиатуры.
Ну что же вы? Пытались рассуждать как совсем взрослый, а на такой ошибочке споткнулись…
Кто вам сказал, что grep работает именно построчно? Закроете stdin - все будет хорошо. Получите ухудшенную версию .communicate
Все это проверялось с моей собственной прогой, которая гарантированно работает построчно.
Андрей СветловОтлично, но как ты представляешь сабж, если через него надо програть данные на x0 Mb? Или такой случай невозможен?
В качестве разминки попробуйте представить систему, в которой чтение из stdin должно чередоваться с записью в stdout.
У нее куча логических противоречий. Написать для конкретного случая можно, в общем виде - не решается.