我想打开 Windows 资源管理器并选择一个特定文件。这是 API explorer /select,"PATH"
:. 因此导致以下代码(使用python 2.7):
import os
PATH = r"G:\testing\189.mp3"
cmd = r'explorer /select,"%s"' % PATH
os.system(cmd)
代码工作正常,但是当我切换到非 shell 模式(使用pythonw
)时,在启动资源管理器之前会出现一个黑色 shell 窗口。
这是可以预料的os.system
。我创建了以下函数来启动进程而不产生窗口:
import subprocess, _subprocess
def launch_without_console(cmd):
"Function launches a process without spawning a window. Returns subprocess.Popen object."
suinfo = subprocess.STARTUPINFO()
suinfo.dwFlags |= _subprocess.STARTF_USESHOWWINDOW
p = subprocess.Popen(cmd, -1, stdout=subprocess.PIPE, stderr=subprocess.PIPE, startupinfo=suinfo)
return p
这适用于没有 GUI 的 shell 可执行文件。但是它不会启动explorer.exe
。
如何在不产生黑色窗口的情况下启动该过程?