我在 PowerShell 中运行多个 Python 脚本,并且我希望在 Python 脚本中的特定条件下通知 PowerShell 主脚本。就像从 Python 抛出错误并使用 PowerShell 捕获它一样。
Python 示例:
import os
print "Running Python script ..."
raise Exception("This Error is coming from Python")
Run Code Online (Sandbox Code Playgroud)
和PowerShell主脚本:
$ErrorActionPreference = 'Stop'
try {
python runThisScript.py -ErrorAction Stop
# Write-Error -Message 'Oh no! An error!'
Write-Host "What is that?"
} catch {
Write-Host $_.Exception.Message -ForegroundColor Green
throw [System.Exception] "Python scrip XXX failed"
} finally {
Write-Host "This is the final block ..."
}
Run Code Online (Sandbox Code Playgroud)
但这是行不通的。它将显示:
Running Python script ...
Traceback …Run Code Online (Sandbox Code Playgroud)