ondição de atribuição em Python While Lo

Em C, pode-se fazer

while( (i=a) != b ) { }

mas em Python, ao que parece, não se pod

while (i = sys.stdin.read(1)) != "\n":

gera

    while (i = sys.stdin.read(1)) != "\n":
         ^
SyntaxError: invalid syntax

(a^ deve estar no=)

Existe uma solução alternativa?