本文介绍需要捕获已经在运行的CMD窗口内容,并且需要根据指定输出内容来判断下一步的行动(输入指定内容)的思路和具体代码。
一、Python捕获正在运行的CMD窗口内容思路:
1、通过inspect.exe来获取CMD窗口Name信息;
2、通过uiautomation捕获到CMD窗口;
3、通过输入Ctrl+A后Ctril+C来复制整个CMD窗口内容;
4、然后获取到剪切板中复制的内容后进行判断。
二、Python捕获正在运行的CMD窗口内容代码演示
from uiautomation import DocumentControl import clipboard # 获取CMD窗口 window = DocumentControl(searchDepth=3, Name='Text Area') # 测试在CMD里面删除某个文件 window.SendKeys('del /p test.txt') window.SendKeys('{Enter}') # Ctrl A / C 全选复制 window.SendKeys('{Ctrl}A') window.SendKeys('{Ctrl}C') # 获取剪切板里面的复制内容 result = clipboard.paste() print(result) # 判断复制内容是否是以特定内容结尾或者特定字符 if result.endswith('Delete (Y/N)?'): # 输入内容 window.SendKeys('n') window.SendKeys('{Enter}') window.Close() # 执行完成 print('finished') else: print('No such value,not complete')
在 Python 中,如果 ws.send_text("1") 必须等待 load_dataset("beans") 加载完毕后才执行,这通常是因为代码中使用了某种形式的异步或并发控制机制。以下是几种可能的原因和解决方案:同步代码执行: 如果代码是同步执行的,那么 load_dataset("beans") 会在 ws.send_text("1") 之前完成,因为 Python 的代码是按顺序执行的。这种情况下,不需要额外的机制来确保顺序。load_dataset("beans") ws.send_tex
构建 API 让您的营销电子邮件远离垃圾邮件
如何构建大型烧瓶应用程序 - 5 人最佳实践
Python sys.modules详解:添加到sys.modules的模块是否已加载到内存?重启后数据如何?
如何用loguru打印变量值及错误堆栈信息?
Python如何控制机器人推杆?