我从powershell脚本运行一个相当复杂的python脚本。我想在控制台中实时显示.python脚本的stdout和stderr流(即.py脚本写入它们)并将它们写入文件。
我目前的解决方案如下:
Do-PreliminaryStuff
log = & ".\myPyScript.py" -myArgument "\this\that\thingy.txt" 2>&1 $log
Write-Output $log
$log | Out-File "$logDir\pyScriptLog.log"
Do-RestOfScript
这个问题是文本只在.py脚本完成后打印出来,这使得查看.py脚本的进度变得更加困难。
有没有办法以某种方式...示例..作为对象的管道通过它?
答案 0 :(得分:0)
您可能正在寻找Tee-Object cmdlet。
答案 1 :(得分:0)
使用Tee-Object
- 它会在继续之前将管道拆分为文件流:
& ".\myPyScript.py" -myArgument "\this\that\thingy.txt" 2>&1 |Tee-Object -FilePath $log