我正在用 python 制作一个 IRC 机器人,现在我想要一些控制台命令。
main 函数在一个 while 循环中,所以我不能把input_raw()
. 有谁知道如何在不中断循环的情况下获取用户输入。
谢谢!
您可以尝试将非阻塞套接字与select
. 就像是:
from sys import stdin
from select import select
while True:
print "Enter command> ",
# Add on_write sockets as necessary
on_read, _, _ = select([stdin], [], [], 5)
if on_read:
command = stdin.readline()
print "Now I can process you command..."
else:
print "No command, we can do here something else..."
问题已解决,使用了 Threading,来源:FaceBot 来源