我正在Windows上使用Python 2.7自动批量转换RAW文件,使用dcraw和PIL。
问题是每隔几秒钟运行一次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))
感谢Ricardo Reyes
对于那个配方进行了小修订,在2.7中,似乎需要从_subprocess
获取STARTF_USESHOWWINDOW
(如果您想要更不容易发生变化的东西,也可以使用pywin32
),因此为了后人:
suinfo = subprocess.STARTUPINFO()
suinfo.dwFlags |= _subprocess.STARTF_USESHOWWINDOW
proc = subprocess.Popen(args, -1, stdout=subprocess.PIPE, startupinfo=suinfo)