EOL for sys.stdin.readline() and raw_input()

jkv jkv at unixcluster.dk
Thu Feb 26 05:46:24 EST 2009


Hi,

Are there any way to change the EOL character for sys.stdin.readline() 
and raw_input()?
My problem is that i cannot rely on that the clients connection to my 
application will end all lines with \n or \r\n. Sometimes they will use 
\r\000 as EOL.

Example from my code:

    sys.stdout.write('Password: ');
    #IAC DO ECHO  
    sys.stdout.write('\xFF\xFB\x01')
    password = raw_input()

If the client sends 'qwerty\r\n' everything is fine and the password get 
stored in the variable. But sometimes, depending on how broken the 
telnet client are, the client will send 'qwerty\r\000' instead and then 
my application will hang at 'password = raw_input()' forever.

Any suggestions?

Regards,
jkv





More information about the Python-list mailing list