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

Terry Reedy tjreedy at udel.edu
Thu Feb 26 13:11:31 EST 2009


jkv wrote:
> 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.

Can you put that in a separate thread with timeout?




More information about the Python-list mailing list