En primer lugar, la entrada es como eval(raw_input()) lo que significa que todo lo que pase se evaluará como una expresión de python. Le sugiero que use raw_input() en su lugar.
He probado el código y ellos son iguales para mí:
import sys
s1 = input()
s2 = sys.stdin.read(1)
if s1==s2 and s1=="s":
print "They're both equal s"
Ésta es la salida:
[email protected]:/tmp$ python test.py
"s"
s
They're both equal s
Usando sys.stdin.read (1) leerá sólo 1 carácter de el stdin que significa que si pasa "s" solo el primero "se leerá. Hay sys.stdin.readline() que lee toda la línea (incluida la final \ n).
Supongo que tiene s1 y ¿s2 está mezclado en tus últimas 2 líneas? – Jacob
Intenta ejecutar el código. – fogbit
Funciona bien para mí. ¿Estás realmente poniendo citas alrededor de la s? ¿Y qué os/versión de python estás usando? – sdolan