Запустите скрипт powershell с Python и сохраните вывод в Python, пока он все еще отображается на консоли powershell - PullRequest
0 голосов
/ 04 января 2019

Здравствуйте, у меня есть следующий фрагмент кода Python, который вызывает pwsh.exe со скриптом powershell. Скрипт powershell имеет только 2 строки.

write-output "This is a line"
Start-Sleep -Seconds 5

Код Python для вызова / запуска скрипта:

import subprocess

powershellProcess = r"X:\Program Files\PowerShell\6-preview\pwsh.exe"
fileToRun = r"D:\ProgrammingAndScripting\Powershell\Scripts\Test\test.ps1"

runit = subprocess.run([powershellProcess, fileToRun], check=True, capture_output=True)

print(str(runit.stdout) + "\n")

Теперь код работает. Мой вопрос заключается в следующем: когда я использую capture_output = True, консоль powershell всплывает, остается пустой, и в Python IDE появляется «Это строка». Когда я удаляю capture_output = True, откроется консоль powershell и отобразится сообщение «Это строка». Python IDE покажет: нет.

Есть ли способ как захватить вывод с помощью python, так и по-прежнему отображать его в окне консоли powershell?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...