AutoIt StdoutRead не записывает модуль журналирования Python в стандартный выводPython

Программы на Python
Ответить
Anonymous
 AutoIt StdoutRead не записывает модуль журналирования Python в стандартный вывод

Сообщение Anonymous »

Я пытаюсь получить полный вывод stdout выполнения моего скрипта Python в моем скрипте вызова AutoIt. Я только что заметил, что стандартный вызов журнала не фиксируется функцией StdoutRead в autoit.

Код: Выделить всё

#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')
Мой простой скрипт на Python

Код: Выделить всё

import logging

logging.warning("Warning this could HURT!")

print(f'Hello world!')
Вот выходные данные отладки моего сценария autoit.
[img]https://i.sstatic .net/6GW6asBM.png[/img]

Как вы можете видеть, инструкция по ведению журнала появляется в выводе SciTe, но не с помощью моего сценария, который регистрируется зеленым цветом.
The SciTe Вывод также фиксирует сообщение Microsoft, когда Открыта командная строка DOS.
Есть ли у кого-нибудь решение или представление о проблеме?

Подробнее здесь: https://stackoverflow.com/questions/792 ... -to-stdout
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»