我是Python threading
的新手,我需要一些代码的帮助,我正在努力将IRC客户端作为业余爱好,但我需要能够让用户能够输入文本并拉动来自IRC服务器等的消息
在此示例中,在获取用户输入的同时,在用户输入的文本之后输出.
我希望输入与收听时输出的内容分开功能
import threading
import time
import sys
def listen():
sys.stdout.write("Listening...")
sys.stdout.flush()
for i in range(5):
time.sleep(1)
sys.stdout.write(".")
sys.stdout.flush()
return
def test_input():
input("Here: ")
return
threads = []
listen_thread = threading.Thread(target=listen)
threads.append(listen_thread)
listen_thread.start()
input_thread = threading.Thread(target=test_input)
threads.append(input_thread)
input_thread.start()
目前,如果我打字你好,那你怎么样?我得到:Listening...Here: .hell.o there. how ar.e you.
我想Listening........ Here: hello there how are you
在'倾听'
.
&#39
(对不起措辞)
答案 0 :(得分:0)
启动listen()线程后立即启动test_input()线程。并且因为test_input()线程并行运行,所以立即打印“Here” 只有在打印完所有点后才能调用a.start()。 (需要5秒钟)。
还尝试使用更具描述性的变量名称。