python获取执行命令的返回结果

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python获取执行命令的返回结果相关的知识,希望对你有一定的参考价值。

python2环境
想执行的命令是"python --version"或者“java -version”
我用os.system()执行,结果都返回在控制台,我用os.popen()执行,没有返回结果。但是os.popen执行dir命令就能获取返回结果,求您帮帮忙

参考技术A p = subprocess.Popen('ps aux',shell=True,stdout=subprocess.PIPE)  
   out,err = p.communicate()  
   for line in out.splitlines():  
       print line

shell 获取命令执行的结果,获取结果返回

shell脚本中, 执行其他脚本时,想判断执行其他脚本的结果是否成功

if [ $? -ne 0 ];then
    echo "fail"
else:
    echo "success"

如果返回0,代表命令执行成功

返回1或者其他不等于0的值,代表失败

-eq //equals等于
-ne //no equals不等于
-gt //greater than 大于
-lt //less than小于
-ge //greater equals大于等于
-le //less equals小于等于

 

 

当我们想获取上一个shell脚本的返回值时,可用  exit(退出当前程序)

exit 0  代表当前程序是执行成功,正常退出
exit 1  代表当前程序执行失败,失败结束并退出

 

 

以下例子为:我执行一个脚本,如果失败的话,我重试一遍,再次失败我就异常退出

sh myshell.sh  # 第一次执行myshell.sh脚本
if [ $? -ne 0 ];then  # 判断以上脚本执行是否成功
  sh myshell.sh  # 如果失败再次启动  if [ $? -ne 0 ];then
    python3 $dingding $1/${pro_name[$i]}  # 这里是失败发送钉钉报警
    exit 1  # 失败退出
  fi
fi

 

以上是关于python获取执行命令的返回结果的主要内容,如果未能解决你的问题,请参考以下文章

Python获取命令实时输出-原样彩色输出并返回输出结果

shell 获取命令执行的结果,获取结果返回

批处理获取返回值(将执行结果赋值变量)

bash shell如何获取到命令执行结果的值?

python MySQL执行SQL查询结果返回字典

vb执行DOS命令并返回结果