我有一個python腳本,它應該調用一個.exe文件來獲得一些結果。該.exe文件正在調用一個新的Windows命令提示符(shell)。我不需要.exe文件的任何輸出。停止調用新的Shell/cmd提示符,python
我在我的腳本中使用 os.system('segwin.exe args'),其中segwin是一個可執行文件。
現在我的問題是:我需要停下來調用命令提示符
榮譽給所有
下垂
我有一個python腳本,它應該調用一個.exe文件來獲得一些結果。該.exe文件正在調用一個新的Windows命令提示符(shell)。我不需要.exe文件的任何輸出。停止調用新的Shell/cmd提示符,python
我在我的腳本中使用 os.system('segwin.exe args'),其中segwin是一個可執行文件。
現在我的問題是:我需要停下來調用命令提示符
榮譽給所有
下垂
試試這個(未經測試):
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()
總是啓動一個shell,在大多數情況下這是不需要移植的。
請參閱[this](http://stackoverflow.com/questions/507347/hide-command-window-of-bat-file-that-executes-another-exe-file)問題。 – compie 2010-07-14 06:33:25