Use the startupinfo subprocess.Popen() class parameter .
startupinfo = subprocess.STARTUPINFO()
startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
startupinfo.wShowWindow = subprocess.SW_HIDE
subprocess.Popen(command, startupinfo=startupinfo)
, popen:
subprocess.Popen(['program.exe','arg1','arg2'], startupinfo=startupinfo)
Edit:
, , , DETACHED_PROCESS subprocess.call.
this MSDN:
DETACHED_PROCESS 0x00000008 - ( ). AllocConsole , . , . " ". CREATE_NEW_CONSOLE.
DETACHED_PROCESS = 0x00000008
subprocess.call('program.exe', creationflags=DETACHED_PROCESS)