Как удалить консоли Windows из порожденных процессов в Python (2.7)? [Дубликат]
Возможный дубликат:
Запуск процесса в pythonw с помощью Popen без консоли
Я использую Python 2.7 на Windows для автоматизации пакетных преобразований RAW с использованием dcraw и PIL.
Проблема в том, что я открываю консоль Windows каждый раз, когда запускаю dcraw (что происходит каждые пару секунд). Если я запускаю скрипт, используя как .py, он менее раздражает, так как он открывает только главное окно, но я бы предпочел представить только графический интерфейс.
Я включаю это так:
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))
Благодаря Рикардо Рейес
Небольшой пересмотр этого рецепта, в 2.7 кажется, что вам нужно получитьSTARTF_USESHOWWINDOW
от_subprocess
(вы также можете использоватьpywin32
если вы хотите что-то, что может быть менее подвержено изменениям), так что для потомков:
suinfo = subprocess.STARTUPINFO()
suinfo.dwFlags |= _subprocess.STARTF_USESHOWWINDOW
proc = subprocess.Popen(args, -1, stdout=subprocess.PIPE, startupinfo=suinfo)