繁体   English   中英

停止调用新的Shell / cmd提示符python

[英]Stop invoking of new Shell/cmd prompt , python

我有一个python脚本,应该调用.exe文件以获得一些结果。 该.exe文件正在调用新的Windows命令提示符(shell)。 我不需要.exe文件的任何输出。

我在segwin是可执行文件的脚本中使用os.system('segwin.exe args')。

现在我的问题是:我需要停止调用cmd提示符

所有人的荣誉

下垂

试试这个(未试用):

import subprocess
CREATE_NO_WINDOW = 0x08000000
args = [...]
subprocess.check_call(["segwin.exe"] + args, creationflags=CREATE_NO_WINDOW)

请注意, check_call检查已启动子check_call的返回码,如果非零,则引发异常。 如果您不想这样做,请改用call

通常,请避免使用os.system()并尽可能使用subprocess模块。 os.system()总是启动一个shell,在大多数情况下这是不可移植的不必要的。

这实际上是Windows特有的。 Windows已确定segwin.exe是基于控制台的应用程序(使用Windows C接口中的Console子系统)。

我知道如何为不一定想要一个但不是相反的应用程序调用提示,您可以尝试使用thisthis

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM