1 from threading import Thread
2 from multiprocessing import Queue
3
4
5 def inp(q):
6 while True:
7 inp_str = input(">>>>").strip()
8 q.put(inp_str)
9 if inp_str == "exit":
10 break
11
12
13 def str_up(q, q1):
14 while True:
15 msg = q.get().upper()
16 q1.put(msg)
17 if msg == "EXIT":
18 break
19
20
21 def dump_f(q1):
22 while True:
23 if q1.get() != "EXIT":
24 with open("test.txt", "a+", encoding="utf-8") as f:
25 f.write(q1.get() + "\n")
26 else:
27 break
28
29
30 if __name__ == '__main__':
31 q = Queue()
32 q1 = Queue()
33 t1 = Thread(target=inp, args=(q,))
34 t2 = Thread(target=str_up, args=(q, q1))
35 t3 = Thread(target=dump_f, args=(q1,))
36 t1.start()
37 t2.start()
38 t3.start()