Таким образом, старый браузер не анализирует Javascript-код, и страница не прерывается.
Обратная совместимость. Должен любить это.
Из здесь :
import subprocess
def launchWithoutConsole(command, args):
"""Launches 'command' windowless and waits until finished"""
startupinfo = subprocess.STARTUPINFO()
startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
return subprocess.Popen([command] + args, startupinfo=startupinfo).wait()
if __name__ == "__main__":
# test with "pythonw.exe"
launchWithoutConsole("d:\\bin\\gzip.exe", ["-d", "myfile.gz"])
Обратите внимание, что иногда подавление консоли приводит к сбою вызовов подпроцесса с сообщением «Ошибка 6: недопустимый дескриптор». Быстрое исправление - перенаправить stdin
, как описано здесь: Python работает как служба Windows: OSError: [WinError 6] Дескриптор недействителен
Вы могли бы просто выполнить subprocess.Popen ([command], shell = False)
.
В любом случае это то, что я использую. Избавляет вас от всей ерунды установки флагов и прочего. После того, как он назван как .pyw или запущен с pythonw, он не должен открывать консоль.