继续短袜收银机()当python为空时

2024-06-02 20:45:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个线程正在运行,它正在从套接字连接中查找数据。当它是空的,它只是坐在那里,因为我发现它应该,但我想通过这个当它是空的。我发现select模块应该能够做到这一点,但现在它只是位于select行。我已经在下面的一些研究中尝试过了,但是就像我说的,现在不要停留在数据=短袜收银机,停在第一行。有什么想法吗?谢谢。在

while True:
        readable, writable, exceptional = select.select([sock], [], [])
        if readable:
            data = sock.recv(1024)
        else:
            do something

Tags: 模块数据truedataif线程selectsock
1条回答
网友
1楼 · 发布于 2024-06-02 20:45:49

正如您在the documentation中读到的,select.select()接受可选的第四个参数,取一个超时值。在

如果超时没有sock可读,readable为空。在

你可以试试

while True:
    readable, writable, exceptional = select.select([sock], [], [], 1.0)
    if readable:
        data = sock.recv(1024)
    else:
        print "nothing yet"

相关问题 更多 >