Python 基础知识:无限循环的跨环境安全退出
作者:野牛程序员:2025-12-22 10:10:26python阅读 2002
Python 基础知识:无限循环的跨环境安全退出
# /*
# Python 基础知识:无限循环的跨环境安全退出
# --------------------------------------------------------
# 功能:
# 1) 演示 while True 无限循环
# 2) 展示跨终端/IDE/Notebook 都能可靠退出的方法
# 3) 支持 Ctrl+C 或输入指令安全终止循环
# */
import threading
import time
# 标志变量用于控制循环退出
stop_flag = False
# 线程函数:监听用户输入
def listen_stop():
global stop_flag
input("按回车或输入任何内容停止循环...\n")
stop_flag = True
# 启动监听线程(守护线程,不阻塞主程序退出)
threading.Thread(target=listen_stop, daemon=True).start()
print("无限循环开始,可按 Ctrl+C 或回车安全退出\n")
try:
count = 0
while not stop_flag:
print("循环次数:", count)
count += 1
time.sleep(0.2) # 短阻塞,保证 Ctrl+C 快速响应
except KeyboardInterrupt:
print("\n检测到 Ctrl+C,安全退出循环")
print("\n循环已安全退出,程序结束")
# /*
# 输出示例(示意):
# 无限循环开始,可按 Ctrl+C 或回车安全退出
# 循环次数: 0
# 循环次数: 1
# 循环次数: 2
# ...
# (用户按 Ctrl+C 或回车)
# 检测到 Ctrl+C,安全退出循环
#
# 循环已安全退出,程序结束
#
# 要点总结:
# 1) 使用守护线程监听输入,可在任意环境触发退出;
# 2) 主循环短时间 sleep,可确保 Ctrl+C 快速响应;
# 3) stop_flag 作为标志变量,避免循环因阻塞无法及时停止;
# 4) 捕获 KeyboardInterrupt 可安全处理用户中断;
# 5) 此方法在终端、IDE、Notebook 等环境均可靠。
# */野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

