Duplicar posible:
Running a process in pythonw with Popen without a console¿Cómo elimino las consolas de Windows de los procesos engendrados en Python (2.7)?
estoy usando Python 2.7 en Windows para automatizar las conversiones por lotes RAW usando dcraw y PIL.
El problema es que abro una consola de Windows cada vez que ejecuto dcraw (lo cual ocurre cada dos segundos). Si ejecuto el script usando como .py es menos molesto ya que solo abre la ventana principal, pero preferiría presentar solo la GUI.
Estoy implica que de este modo:
args = [this.dcraw] + shlex.split(DCRAW_OPTS) + [rawfile]
proc = subprocess.Popen(args, -1, stdout=subprocess.PIPE)
ppm_data, err = proc.communicate()
image = Image.open(StringIO.StringIO(ppm_data))
Gracias a Ricardo Reyes
revisión menor a la receta, en 2.7, parece que usted necesita para obtener STARTF_USESHOWWINDOW
de _subprocess
(se también podría usar pywin32
si desea algo que podría ser un poco menos propenso a cambiar), por lo que para la posteridad:
suinfo = subprocess.STARTUPINFO()
suinfo.dwFlags |= _subprocess.STARTF_USESHOWWINDOW
proc = subprocess.Popen(args, -1, stdout=subprocess.PIPE, startupinfo=suinfo)