shell中调用python脚本

原创 2016年08月30日 13:43:43

shell中调用python脚本

在sh脚本中可通过python命令调用py脚本,同样可以获取py脚本的返回码与输出

py脚本的sys.exit([arg])

python doc中的内容

Exit from Python. This is implemented by raising the SystemExit exception, so cleanup actions specified by finally clauses of try statements are honored, and it is possible to intercept the exit attempt at an outer level. The optional argument arg can be an integer giving the exit status (defaulting to zero), or another type of object. If it is an integer, zero is considered “successful termination” and any nonzero value is considered “abnormal termination” by shells and the like. Most systems require it to be in the range 0-127, and produce undefined results otherwise. Some systems have a convention for assigning specific meanings to specific exit codes, but these are generally underdeveloped; Unix programs generally use 2 for command line syntax errors and 1 for all other kind of errors. If another type of object is passed, None is equivalent to passing zero, and any other object is printed to sys.stderr and results in an exit code of 1. In particular, sys.exit(“some error message”) is a quick way to exit a program when an error occurs.

  • 直接调用exit(),注意是个函数要加括号,无参数默认返回码0,表示脚本运行成功
  • 参数可以是整数也可以是其他对象,若是其他对象测返回码为1,如错误信息字符串,同时字符串内容也会输出

    # test.py
    print 'test'
    exit('error message')
    
    # 运行脚本
    python test.py
    echo $?
    
    输出
    test
    error message
    1
    
  • 获取py脚本中print内容,同样通过output=python *.py或output=$(python *.py)获取,通过这种方式py中的print不会在控制台输出

    # test.py
    print 'test'
    exit('error message')
    
    # 运行脚本
    x=`python test.py`
    echo $?
    echo ${x}
    
    输出  
    error message
    1   
    test
    

相关文章推荐

mysql 5.7下载,安装与卸载(带shell,python脚本)

实验环境:CentOS 6.5 一:下载软件 --个人机器为:CentosOS,64位 下载地址为:http://dev.mysql.com/downloads/mysql/5.0.html,打开此网...

Python脚本中执行shell命令

如下图,其中最后一个0是这个命令的返回值,为0表示命令执行成功; popen():想要获取命令执行的结果,但是没有命令的执行状态。 commands:可以很方便的取得命令的输出(包括标准和错误输出)和...

通过编写Shell、Python脚本来实现在线管理KVM虚拟机

来自一位码农的偷懒想法: 1 python2.7 2 python的web框架 bottle 3 shell脚本管理kvm 以及WebVirtMgr组合在一起就可以了~ ...

C++调用python脚本

  • 2017年03月24日 18:10
  • 3KB
  • 下载

如何在Windows下开发Python:在cmd下运行Python脚本+如何使用Python Shell(command line模式和GUI模式)+如何使用Python IDE

本文目的 希望对于,如何在Windows下,写Python代码,进行Python开发,运行Python脚本的人,看了此文后,懂得了: 什么是cmd下面去运行Python脚本; 什么是Python的交互...

c程序多次调用python脚本的正确打开模式

问题描述:c程序中需要多次调用python脚步; 初始做法:每次调用python脚步时,开始初始化python环境(Py_Initialize),调用完之后结束python环境(Py_Finaliz...
  • chpllp
  • chpllp
  • 2017年04月01日 17:00
  • 797

C/C++中调用执行python脚本文件

前几天因为工作需要,想在C++服务程序中调用执行现有的python脚本文件,所以查了一下这方面的材料,现在做个小结。 目前的C/C++与python的混合编程分为两大类: 1、使用python调用...

Qt调用python脚本识别验证码

Qt调用python脚本识别验证码一些懒人经常会想让很多工作都由机器处理,实现自动化。而一些涉及验证码的就要费些力气了。python在许多领域都是让人省时省力的神兵利器,任何程序员都可以加以利用获取裨...

C#调用Python脚本的简单示例,IronPython(转载)

转自:http://blog.csdn.net/zmq570235977/article/details/46791009 IronPython是一种在 .NET及 Mono上的 P...
  • bodybo
  • bodybo
  • 2017年08月10日 09:13
  • 219
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:shell中调用python脚本
举报原因:
原因补充:

(最多只允许输入30个字)