amo*_*ian 3 python error-handling subprocess traceroute
我正在尝试获取traceroute失败时返回的错误消息。例如:
from subprocess import CalledProcessError, check_output
try:
output = check_output(["traceroute", "error"])
except CalledProcessError as error:
output = error.output
print "error: {}".format(output)
Run Code Online (Sandbox Code Playgroud)
输出:
error:
Run Code Online (Sandbox Code Playgroud)
我尝试使用,output = str(error.output)但输出保持为空。执行上述代码时,将在终端上显示一条错误消息,因此应该可以将其分配给变量,对吗?
如以下所述:https : //docs.python.org/2/library/subprocess.html#subprocess.check_output
要还捕获结果中的标准错误,请使用 stderr = subprocess.STDOUT
尝试:
import subprocess
from subprocess import CalledProcessError, check_output
try:
output = check_output(["traceroute", "error"], stderr=subprocess.STDOUT)
except CalledProcessError as error:
output = error
print "error: {}".format(output.output)
Run Code Online (Sandbox Code Playgroud)
输出:
error: traceroute: unknown host error
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
711 次 |
| 最近记录: |