Искам да отворя Windows Explorer и да избера конкретен файл. Това е API: explorer /select,"PATH"
. Следователно в резултат на следния код (с помощта на python 2.7):
import os
PATH = r"G:\testing\189.mp3"
cmd = r'explorer /select,"%s"' % PATH
os.system(cmd)
Кодът работи добре, но когато превключа в режим без обвивка (с pythonw
), за момент се появява черен прозорец на обвивката, преди да се стартира изследователят.
Това може да се очаква с 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. Въпреки това няма да стартира explorer.exe
.
Как мога да стартирам процеса, без преди това да хвърля черен прозорец?