python IRC缓冲区没有清除

时间:2011-02-27 07:36:58

标签: python buffer irc

我的IRC机器人只有一个简单的缓冲系统,所以它不会因为网络滞后等而错过一条线路。 我使用以下代码启动处理从服务器收到的信息的循环:

while 1: #Start the main loop
    self.readbuffer += s.recv(1024).decode()
    temp=self.readbuffer.split("\n")
    self.readbuffer=temp.pop()

问题在于缓冲区似乎永远不会清除,所以任何时候我都希望对数据进行循环处理。因此,如果我告诉机器人做某事,它也会完成之前所做的一切。通过调试我已经确认缓冲区确实永远不会清除。 所以...基于上面的代码(唯一修改缓冲区的代码)我的问题是什么? 谢谢你的阅读。

1 个答案:

答案 0 :(得分:0)

你在哪里尝试清除缓冲区?

self.readbuffer += s.recv(1024).decode()向readbuffer添加更多数据。 temp=self.readbuffer.split("\n")将readbuffer转换为单行字符串列表 self.readbuffer=temp.pop()使readbuffer成为最后一行

如果readbuffer永远不会变小,那一定是因为你从未收到换行符。也许IRC使用'\r'或其他一些代码来表示新帖子?