如何实现Python脚本后台运行同时支持控制台交互?
让Python脚本后台运行同时保留控制台交互能力
要实现后台运行tick线程的同时,让控制台成为可交互的Python解释器,只需在脚本末尾添加启动交互式解释器的代码即可,修改后的完整代码如下:
import threading import time import code TICK = True def tick(): while TICK: time.sleep(1) print("tick") # 启动后台线程并设置为守护线程 thread = threading.Thread(target=tick) thread.daemon = True thread.start() # 启动交互式Python解释器,保留全局变量上下文 code.interact(local=globals())
关键说明:
thread.daemon = True:将后台线程设为守护线程,当你关闭交互式控制台(或输入exit()退出)时,后台线程会自动终止,避免残留进程。code.interact(local=globals()):启动交互式解释器,并且传入当前全局变量上下文,你可以在控制台中直接访问和修改TICK等变量,比如输入TICK = False就能停止后台的tick输出。
内容的提问来源于stack exchange,提问作者h0ax
相关产品推荐
相关产品推荐

