boo*_*ull 4 python subprocess return-code python-3.x output
我subprocess.check_output在我的脚本中使用了很多次,但是我遇到了外部应用程序的问题.OpenVPN在这种情况下.
当使用--help我想在我的脚本中解析的参数调用openvpn时,它将1作为退出代码返回.check_ouput非零退出代码上的choke并且失败并显示以下消息:
subprocess.CalledProcessError: Command '['openvpn', '--help']' returned non-zero exit status 1
Run Code Online (Sandbox Code Playgroud)
问:我不明白为什么openvpn这样做,但是我怎么check_output能给我输出,即使是非零返回码?
编辑:我使用完全相同的代码--show-digests或其他参数,似乎一切正常.
output = check_output(["openvpn", "--show-digests"])
Run Code Online (Sandbox Code Playgroud)
根据文档,输出.output在CalledProcessError异常的属性中可用.
所以像这样的东西应该工作:
try:
result = subprocess.check_output(...).stdout
except subprocess.CalledProcessError as exc:
result = exc.output
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2619 次 |
| 最近记录: |