OS.SYSTEM隐藏弹出的命令提示框
- 论坛
- OS.SYSTEM隐藏弹出的命令提示框
16 浏览
匿名的
0 Comments
问题出现的原因是使用os.system('hello.exe')
命令时,会创建一个新的窗口来运行指定的程序或命令。而使用cmd /c
命令则可以运行批处理或命令文件。然而,在os.system
中使用cmd /c
是没有意义的,因为它会运行cmd.exe /c cmd /c "hello.bat"
命令,从而创建一个临时的控制台窗口。此外,当从pythonw.exe(.pyw脚本)运行这两个命令时,仍然会创建一个临时控制台窗口。因为os.system
使用的是cmd shell,所以Windows会自动创建一个控制台窗口。如果目标程序也是控制台程序,使用start
命令实际上会创建两个控制台窗口。解决这个问题的方法是使用subprocess来隐藏控制台或防止控制台窗口的创建。具体的方法可以参考我在这里给出的示例:http://stackoverflow.com/a/7006424/205580。