停止调用新的Shell/cmd提示符,Python
我有一个Python脚本,它需要调用一个.exe文件来获取一些结果。这个.exe文件会打开一个新的命令提示符窗口。我并不需要从这个.exe文件中获取任何输出。
在我的脚本中,我使用了 os.system('segwin.exe args')
,其中segwin是一个可执行文件。
现在我的问题是:我想停止打开命令提示符窗口。
感谢大家的帮助!
sag
2 个回答
1
试试这个(未经测试):
import subprocess
CREATE_NO_WINDOW = 0x08000000
args = [...]
subprocess.check_call(["segwin.exe"] + args, creationflags=CREATE_NO_WINDOW)
注意,check_call
会检查启动的子进程的返回代码,如果返回代码不是零,它会抛出一个异常。如果你不想要这个效果,可以用 call
来代替。
一般来说,尽量避免使用 os.system()
,而是尽可能使用 subprocess
模块。因为 os.system()
每次都会启动一个新的命令行,这在大多数情况下是不必要的,而且不太方便。