从Python执行子进程而不打开Windows命令提示符

Kee*_*per 9 python windows subprocess

可能重复:
在没有控制台的情况下使用Popen在pythonw中运行进程
如何从Python(2.7)中的衍生进程中消除Windows控制台?

我有一个Python程序,它调用一个单独的数字运算程序(用C语言编写)作为子进程多次(使用subprocess.check_call).它在Linux上运行良好,除了一件小事之外,它在Windows上运行良好:每次调用子进程时,都会创建一个命令提示符窗口,然后在子进程退出时很快就会被销毁.

这根本不会影响计算,但是它非常烦人,因为这个窗口一直在屏幕上闪烁,这使得在计算机上执行其他操作很困难,因为新的命令提示符窗口可以窃取键盘焦点.

如何简单地执行子进程(没有GUI),并阻止创建命令提示符窗口?

Bry*_*yan 3

你怎么打电话subprocess.check_call()?如果通过shell=True,则不应创建窗口,因为这将导致SW_HIDE为该属性设置标志STARTUPINFO.wShowWindow

例子:

subprocess.check_call(["ping", "google.com"], shell=True)
Run Code Online (Sandbox Code Playgroud)

  • 请不要仅仅因为“shell=True”隐藏控制台而将其推广为解决方案。请参阅我的回答[此处](http://stackoverflow.com/a/12964900/95735)。 (7认同)

归档时间:

查看次数:

12481 次

最近记录:

13 年,3 月 前