> Над чем, если не секрет?
>>> assert filter(functools.partial(operator.gt, 0), map(ord, map(chr, range(256))))

> И что ваш код делает?
Без комментариев. Но надеюсь это натолкнёт автора топика на верное решение, что бы он не затеял.
# -*- coding: utf-8 -*-
# foo.py

import sys

def S():
while True:
yield sys.stdin.read(1)

s = iter(S())

for c in s:
print 'c = %r'%c
if not c:
break
Другой вариант (без этих ваших генераторов/итераторов):
# -*- coding: utf-8 -*-
# foo.py

import sys

while True:
c = sys.stdin.read(1)
print 'c = %r'%c
if not c:
break
$ echo “foo” | python foo.py
c = ‘f’
c = ‘o’
c = ‘o’
c = ‘\n’
c = ''

..bw