Код: Выделить всё
#include "Constants.au3"
#pragma compile(Console, true)
#AutoIt3Wrapper_Change2CUI=Y
Func ExecTestScript($command, $useEnv="")
Local $line
Local $pid = Run("cmd.exe", @SystemDir, @SW_HIDE, $STDIN_CHILD + $STDOUT_CHILD)
StdinWrite($pid, 'cd "' & @ScriptDir & '"' & @CRLF)
If StringLen($useEnv) > 0 Then
StdinWrite($pid, "conda activate " & $useEnv & @CRLF)
EndIf
Local $cmd = $command & @CRLF
ConsoleWrite($cmd & @CRLF)
StdinWrite($pid, $cmd)
StdinWrite($pid, "exit" & @CRLF)
Local $nChars
While 1
$nChars = StdoutRead($pid)
If @error Then ExitLoop
If @extended > 0 Then
ConsoleWrite("++ " & $nChars & @CRLF)
$line &= $nChars
EndIf
WEnd
ProcessClose($pid)
return $line
EndFunc
Local $res = ExecTestScript('python myTestScript.py', 'py38')
Код: Выделить всё
import logging
logging.warning("Warning this could HURT!")
print(f'Hello world!')
[img]https://i.sstatic .net/6GW6asBM.png[/img]
Как вы можете видеть, инструкция по ведению журнала появляется в выводе SciTe, но не с помощью моего сценария, который регистрируется зеленым цветом.
The SciTe Вывод также фиксирует сообщение Microsoft, когда Открыта командная строка DOS.
Есть ли у кого-нибудь решение или представление о проблеме?
Подробнее здесь: https://stackoverflow.com/questions/792 ... -to-stdout
Мобильная версия