subprocess.run 阻止脚本在 Windows 上的运行

问题描述 投票:0回答:0

所以我一直在尝试通过读取列出所述许可证的命令的输出来使用处理许可证的程序的 CLI。就我而言,我只能在 shell 设置为 true 的情况下运行它。 在这种情况下,当我运行命令时,它会打开一个新的 cmd,它会阻止脚本的任何进展,直到我手动按下空格键。由于这是一个专注于自动化的脚本,所以这似乎无法使用。 我已经阅读了很多关于类似问题的帖子,但没有找到任何好的 Windows 特定解决方案。

我尝试了所有可能的子进程调用,无论是打开还是关闭 shell(正如我提到的将 shell 设置为 false 它似乎无法识别命令)。

我还尝试发送空格作为输入并尝试终止或超时进程,但这也不起作用,以至于超时和输入都只是在等待,直到我按下回车键并关闭新打开的 cmd,然后才被终止脚本(超时或错误)。

我还尝试将 creationflags 设置为我在相关帖子中看到的许多不同值,但没有一个解决了问题。

我自然而然地在其他帖子上看到了一些不错的解决方案,但所有这些都是特定于操作系统的,不适用于 Windows。

不幸的是,我对 python 不是很了解,虽然我正在慢慢学习,但这远远超出了我的范围。

python subprocess
© www.soinside.com 2019 - 2024. All rights reserved.