如何在Python中静默运行控制台应用程序(在Windows上)

1 投票
2 回答
3132 浏览
提问于 2025-04-16 12:08

可能重复的问题:
如何在Python (2.7)中消除从生成的进程中出现的Windows控制台?

你好,

在我的应用程序中,我使用了一个外部的控制台应用程序。我正在捕获它的输出(来自标准输出),然后进行处理。不过,每次我启动这个应用程序时,控制台窗口都会弹出来,这就成了一个问题(因为在计算过程中我无法使用电脑做其他事情)。有没有办法执行这个控制台应用程序,捕获它的标准输出,而不让控制台窗口弹出来呢?下面是执行控制台应用程序的代码:

p = subprocess.Popen([BCALCPATH, "-c", hand, "-t", "a", "-e", "e", "-q", "-d SWNE"], stdout = subprocess.PIPE, stderr = subprocess.STDOUT)
table = p.stdout.read().decode()

所有那些 -c、-t 等都是控制台应用程序的参数。BCALCPATH 是 .exe 文件的路径。谢谢你的帮助 :)

2 个回答

0

你可以试试一个叫 hstart 的工具。不过,你可能需要把输出结果保存到一个文件里,然后在命令执行完后再去读取这个文件。如果你有 Cygwin 这个工具的话,它里面也有一个类似的工具叫 run.exe

0

创建一个指向Python脚本的Windows快捷方式,然后把这个快捷方式的运行属性设置为最小化

撰写回答