为什么python subprocess.Popen通过cmd.exe启动子进程?

pbx*_*pbx 8 python windows subprocess

我像这样调用子进程:

command = 'c:\somepath\myexe.exe'

startupinfo = subprocess.STARTUPINFO()
startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW

p = subprocess.Popen(command, shell=False, startupinfo=startupinfo)
Run Code Online (Sandbox Code Playgroud)

它似乎不是直接启动myexe.exe,而是通过cmd.exe.我可以在这里避免使用cmd.exe吗?

Sus*_*ana 3

如果您使用的是 Python 2.7 - 使用 subprocess._subprocess.STARTF_USESHOWWINDOW 而不是 subprocess.STARTF_USESHOWWINDOW。我认为这可以解决它。