如何让Python脚本暂停执行,直到打开的Notepad应用关闭后再恢复运行?
实现方案
核心使用Python标准库自带的subprocess模块即可实现需求,不需要额外安装依赖,也不需要做轮询检测,还可以精准控制仅等待当前脚本启动的记事本进程,不会干扰其他同时运行的Notepad实例。
实现代码如下:
import os import subprocess # 初始化待编辑的空文件 target_file = "file.txt" if not os.path.exists(target_file): with open(target_file, "w", encoding="utf-8") as f: pass # 启动记事本进程打开目标文件,获取进程实例 process = subprocess.Popen(["notepad.exe", target_file]) # 阻塞等待该进程结束,直到用户关闭刚才打开的记事本才会继续往下执行 process.wait() # 以下为记事本关闭后才会执行的后续业务逻辑 print("用户已完成编辑,脚本继续执行")
方案优势
- 不需要设置固定时长的
time.sleep,也不需要写循环反复检测进程状态/文件占用,由系统内核通知进程退出状态,资源占用极低 - 仅跟踪当前脚本启动的记事本进程,用户自行打开的其他记事本窗口完全不会影响当前脚本的判断逻辑,不会出现误等待的问题
- 完全基于标准库实现,不需要额外安装第三方包
内容的提问来源于stack exchange,提问作者Wired Hack
相关产品推荐
相关产品推荐

