如何使用python获得脚本退出状态?

2024-06-16 11:05:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我有bash脚本,运行并返回和退出代码70。我尝试用python获取退出代码,但它只会得到0,这是不同的。你知道吗

我的bash脚本

#!/bin/bash
DATE=$(date +"%Y-%m-%d_%H%M")
raspistill -vf -hf -o /home/pi/camera/$DATE.jpg

echo $?

输出

mmal: mmal_vc_component_enable: failed to enable component: ENOSPC
mmal: camera component couldn't be enabled
mmal: main: Failed to create camera component
mmal: Failed to run camera app. Please check for firmware updates

70

我的python代码

import os
import subprocess

os.chdir("/test")
result = subprocess.Popen("./test.sh")
text = result.communicate()[0]
returncode = result.returncode
print (returncode)

输出

mmal: mmal_vc_component_enable: failed to enable component: ENOSPC
mmal: camera component couldn't be enabled
mmal: main: Failed to create camera component
mmal: Failed to run camera app. Please check for firmware updates

70
0

Tags: to代码脚本bashdateenableresultcamera
3条回答

bash脚本的结果是0。raspistill异常退出(退出代码70)。bash中的return命令为脚本设置返回值。你知道吗

最简单的解决方案是:

exit(returncode)

返回代码是脚本中执行的最后一个命令的退出状态。由于echo $?运行成功,退出状态为0。试试没有回声的脚本。你知道吗

相关问题 更多 >