<分区>
Possible Duplicate:
Running a process in pythonw with Popen without a console
我在 Windows 上使用 python 2.7 使用 dcraw 和 PIL 自动进行批量 RAW 转换。
问题是每当我运行 dcraw(每隔几秒发生一次)时,我都会打开一个 Windows 控制台。如果我使用 .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)