如何在Python中以静默方式运行控制台应用程序(在windows上)

如何在Python中以静默方式运行控制台应用程序(在windows上),python,windows,console-application,popen,Python,Windows,Console Application,Popen,可能重复: 嗨 在我的应用程序中,我使用外部控制台应用程序。 我正在捕捉它的输出(从std输出)并处理它。然而,每次我启动这个应用程序时,控制台窗口都会弹出,这是一个问题(因为在计算过程中,我不能使用计算机进行任何其他操作)。是否有任何方法可以执行控制台应用程序,捕获其标准输出,而不需要实际弹出控制台窗口? 正在执行console应用程序的代码: p = subprocess.Popen([BCALCPATH, "-c", hand, "-t", "a", "-e", "e", "-q", "

可能重复:

在我的应用程序中,我使用外部控制台应用程序。 我正在捕捉它的输出(从std输出)并处理它。然而,每次我启动这个应用程序时,控制台窗口都会弹出,这是一个问题(因为在计算过程中,我不能使用计算机进行任何其他操作)。是否有任何方法可以执行控制台应用程序,捕获其标准输出,而不需要实际弹出控制台窗口? 正在执行console应用程序的代码:

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文件的路径。
感谢您的帮助:)

创建Python脚本的Windows快捷方式,然后将快捷方式的
Run
属性设置为
Minimized
您可以尝试使用类似的实用程序。不过,您可能需要将输出重定向到一个文件,然后在命令完成后从中读取。Cygwin有一个类似的工具叫做
run.exe
,如果你手头有这个工具的话。

多亏了你的回复,我还发现了这个:;3.1.3似乎有一些问题,这些标志不存在。但在文档中也找不到它们:(您链接的问题有您的答案——这些属性已移动到
子流程
模块,您只需在较新的Python版本中从那里获取它们。正如您引用的问题的答案所述,您可以从
\u子流程
导入
STARTF\u USESHOWWINDOW
,而不是从
子流程
。或者使用
pywin32
并从
win32process
导入它。或者只使用
1
;它是一个不可能改变的常量。谢谢大家;我不知道这个_子流程模块,因为它不在python 3.1.3的参考中。这很有魅力,ty:)如何通过Python或Java编程实现最小化?