python - 调用子进程时如何通过窗口提示
问题描述
我有一个 jar 文件,我想在命令行中运行并使用 python 脚本收集它的标准输出。
我将调用作为子进程进行,例如:
def get_output():
process = subprocess.run(['java', '-jar', 'myjar.jar', 'myfileargument'])
但是出现了一个我无法禁用的警告提示,它会暂停执行,直到用户单击“确定”或按 Enter 键。有没有办法在通过代码出现的提示窗口中基本上“单击确定”并让 python 脚本继续?
解决方案
如果您没有办法,只能使用子进程的环境变量和参数来禁用该警告,那么没有简单的方法可以做到这一点。
正如@furas 在评论中提到的那样,您要么必须走 UI 自动化之路。考虑到有多种工具/框架可以做到这一点,这样做可能相对容易。
或者您可以“修补”jar
不需要此警告。如果您可以将烦人的.class
文件替换为不需要接受警告的另一个文件,那么它可能会有些效率。或者你可以在 java 程序中安装一个自定义的 ClassLoader,但这可能会很困难。
推荐阅读
- python - 当我们运行内部函数调用时,控制流如何跳过外部函数调用,因为它从整个代码的顶部到底部?
- kubernetes - Kubernetes 环境变量未在命令中正确使用
- mysql - 使用 MySQL 的 Laravel 迁移速度很慢
- javascript - 查找有关如何更改变量测试 js 的解决方案
- html - 在输入一个值后,输出一个带有 RADICAL(值)的字符串
- c# - C# 控制台应用程序制作完全自定义的命令
- android - Webview 不加载 AdSense 广告
- javascript - WebGL:如何将移动的纹理覆盖在另一个纹理之上?
- assembly - 数据寄存器 EAX、EBX、ECX 和 EDX 是否可互换
- linux - Ubuntu Mint 19 32 位 - PyCharm / SDK 安装