5
可能重复:
Running a process in pythonw with Popen without a console如何从Python(2.7)中产生的进程中消除Windows控制台?
我使用的是Windows上的Python 2.7自动使用Dcraw执行和PIL批量RAW转换。
问题是我打开一个Windows控制台,每当我运行dcraw(这发生每隔几秒钟)。如果我使用.py作为.py运行脚本,它不那么烦人,因为它只打开主窗口,但我更愿意仅显示GUI。
我涉及它像这样:
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看来,你需要从_subprocess
STARTF_USESHOWWINDOW
(你也可以使用pywin32
如果你想要的东西可能不太容易改变),所以对于后人:
suinfo = subprocess.STARTUPINFO()
suinfo.dwFlags |= _subprocess.STARTF_USESHOWWINDOW
proc = subprocess.Popen(args, -1, stdout=subprocess.PIPE, startupinfo=suinfo)