Python 怎么实现按键退出,但还不影响其它行的执行

skyshine · 2021年02月08日 · 最后由 lyyyyyyy 回复于 2021年03月04日 · 2795 次阅读
while 1:
    s = ord(msvcrt.getch())
    if s in [81, 113]:
        break

    if a > 0:
        .........
    if b:
        .....

用这个方法它会一直停在 ord 那行等待输入。
怎么能让它不影响下面的 if 运行。又能在按 q 时退出 呢?
谢谢

共收到 3 条回复 时间 点赞

多线程

独缺 回复

只有这个方法吗?

多线程试了一下,是可以的

import time
import asyncio
import msvcrt
import threading
s = True

def func2():
    in1 = input("是否暂停: ")
    if in1 == "q":
        global s
        s = False


def func1():
    counter = 0
    while True:
        if not s:
            break
        counter += 1
        with open("log.txt", "a+") as f:
            f.write(f"{counter} \n")
        time.sleep(1)

t1 = threading.Thread(target=func2)
t2 = threading.Thread(target=func1)
li = [t2, t1]


for i in li:
    i.start()

for i in li:
    i.join()

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册