Python抛出KeyError:\ r \ n

时间:2012-01-18 00:24:14

标签: python

我正在编写一个网络身份验证程序,当我进入实际的验证部分时,Python退出时出现错误“KeyError:\ r \ n”。为什么Python会抛出KeyError,以及如何解决这个问题呢?我在Windows 7上运行Python 2.7.2。 代码:

    client.send("You should enter your username: ")
    uname=client.recv(size)
    client.send("You should also enter your password: ")
    passc=client.recv(size)
    client.send("\r\nI will verify your information.\r\n")
    if users[uname].strip(cr) == passc.strip(cr):
        client.send("It worked, continue...")
    else: client.send("It didn't work\r\n")

在此之前,我写了一句话:

client.send("Press return"); cr = client.recv(5)

编辑: slaps head 它抛出一个键错误的原因是由于某种原因,它不会让客户端设置为uname。它完全忽略了client.recv,只是跳到下一行。

2 个答案:

答案 0 :(得分:0)

你是从passc而不是uname剥离的。也许这就是问题所在。尝试打印repr(uname)

答案 1 :(得分:0)

如果client.recv是非阻塞的,它将接收0个字节并继续。在服务器响应之前,该线路可能正在运行