使用Python运行powershell脚本并捕获Python中的输出,同时仍将其显示在powershell控制台上

时间:2019-01-04 15:01:29

标签: python powershell

你好,我有下面的Python代码,它们使用powershell脚本调用pwsh.exe。 Powershell脚本只有两行。

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控制台窗口中显示出来?

0 个答案:

没有答案