python - 在不打开 Windows 命令提示符的情况下从 Python 执行子进程

标签 python windows subprocess

<分区>

Possible Duplicate:
Running a process in pythonw with Popen without a console
How do I eliminate Windows consoles from spawned processes in Python (2.7)?

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

这根本不影响计算,但是很烦人,因为这个窗口一直在屏幕上闪烁,并且很难在计算机上做其他事情,因为新的命令提示符窗口可以窃取键盘焦点.

我怎样才能简单地执行子进程(没有 GUI),并防止创建命令提示符窗口?

最佳答案

你如何调用 subprocess.check_call()?如果您传递 shell=True 则不应创建窗口,因为这会导致为 STARTUPINFO.wShowWindow 属性设置 SW_HIDE 标志.

例子:

subprocess.check_call(["ping", "google.com"], shell=True)

关于python - 在不打开 Windows 命令提示符的情况下从 Python 执行子进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6390394/

相关文章:

c++ - 如何将事件处理程序添加到桌面窗口?

PHP mkdir()、chmod() 和 Windows

python - 使用 python 子进程时 ANSI 颜色丢失

python - 规范化餐厅菜肴列表

python - 将可变数量的 csv 文件中的一列合并到一个 csv 文件中

windows - 在 Windows PowerShell 中遍历证书

python - 防止关闭通过子进程打开的 DOS shell 窗口

带有 shell=True : redirections and platform-independent subprocess killing 的 python 子进程

python - Python 中的实时输出

python - 如何获取 sqlalchemy 中级联删除(或标记为删除)项目的 ID?