Я пытаюсь получить функциональность, в которой я могу открыть новую командную строку и запустить несколько командных команд. Затем перенаправить вывод в logfile
и console
в режиме реального времени. Поэтому я использую wtee.exe
(бывшая команда: dir 2 >& 1 | wtee.exe logFile.txt
). Выбор popen
вместо os.system
, потому что мне нужен контроль над новым процессом (новая командная строка), так как я не смогу использовать символ трубы в Popen. Я выполнил приведенную ниже функцию newConsole = Popen( ['cmd','/V:ON /K dir 2>&1'], creationflags=CREATE_NEW_CONSOLE,stdout=PIPE,stderr=STDOUT ) outputLog = Popen( [wtee.exe,'logFile.txt'], stdin=newConsole.stdout, )
. Я вижу, как создается файл журнала, а также вывод в командной строке (в главном окне, а не в новой консоли). Как распечатать вывод новой консоли, открытой с помощью подпроцесса?