zoukankan      html  css  js  c++  java
  • python之 sys.exit() os._exit() exit() quit()的简单使用

     

    python之sys.exit() os._exit() exit() quit()的简单使用

    1》sys.exit() 
    >>> import sys
    >>> help(sys.exit)
    Help on built-in function exit in module sys:
    exit(...)
        exit([status])
        
        Exit the interpreter by raising SystemExit(status).
        If the status is omitted or None, it defaults to zero (i.e., success).
        If the status is an integer, it will be used as the system exit status.
        If it is another kind of object, it will be printed and the system
        exit status will be one (i.e., failure).

    执行该语句会直接退出程序,这也是经常使用的方法,也不需要考虑平台等因素的影响,一般是退出Python程序的首选方法。
    退出程序引发SystemExit异常,(这是唯一一个不会被认为是错误的异常), 如果没有捕获这个异常将会直接退出程序执行,
    当然也可以捕获这个异常进行一些其他操作(比如清理工作)。
    sys.exit()函数是通过抛出异常的方式来终止进程的,也就是说如果它抛出来的异常被捕捉到了的话程序就不会退出了,
    而是去进行一些清理工作。
    SystemExit 并不派生自Exception 所以用Exception捕捉不到该SystemEixt异常,应该使用SystemExit来捕捉。
    该方法中包含一个参数status,默认为0,表示正常退出, 其他都是异常退出。
    还可以这样使用:sys.exit("Goodbye!"); 一般主程序中使用此退出.


    捕获到SystemExit异常,程序没有直接退出!
    song@ubuntu:~$ vi systemExit.py
    song@ubuntu:~$ more systemExit.py
    #!/usr/bin/python
    #!coding:utf-8
    import sys
    if __name__=='__main__':
        try:
            sys.exit(825)
        except SystemExit,error:
            print 'the information of SystemExit:{0}'.format(error)
            print "the program doesn't exit!"
        print 'Now,the game is over!'
    song@ubuntu:~$ python systemExit.py
    the information of SystemExit:825
    the program doesn't exit!
    Now,the game is over!
    song@ubuntu:~$ 


    没有捕获到SystemExit异常,程序直接退出,后边的代码不执行!
    song@ubuntu:~$ vi systemExit.py
    song@ubuntu:~$ more systemExit.py
    #!/usr/bin/python
    #!coding:utf-8
    import sys
    if __name__=='__main__':
        try:
            sys.exit(825)
        except Exception,error:
            print 'the information of SystemExit:{0}'.format(error)
            print "the program doesn't exit!"
        print 'Now,the game is over!'
    song@ubuntu:~$ python systemExit.py
    song@ubuntu:~$ 


    没有捕获到SystemExit异常,输出'Goodbye!'后,程序直接退出,后边的代码不执行!
    song@ubuntu:~$ vi systemExit.py
    song@ubuntu:~$ more systemExit.py
    #!/usr/bin/python
    #!coding:utf-8
    import sys
    if __name__=='__main__':
        try:
            sys.exit('Goodbye!')
        except Exception,error:
            print 'the information of SystemExit:{0}'.format(error)
            print "the program doesn't exit!"
        print 'Now,the game is over!'
    song@ubuntu:~$ python systemExit.py
    Goodbye!
    song@ubuntu:~$ 

    2》os._exit(), 直接退出 Python 解释器, 不抛异常, 不执行相关清理工作,其后的代码都不执行,
    其使用会受到平台的限制,但我们常用的Win32平台和基于UNIX的平台不会有所影响, 常用在子进程的退出.
    一般来说os._exit() 用于在线程中退出,sys.exit() 用于在主线程中退出。

    3》exit()/quit(), 抛出SystemExit异常. 一般在交互式shell中退出时使用.

    友情链接:

    关于python中format()方法的使用,参考:python format()方法

    (完)

  • 相关阅读:
    将同一个应用程序同时作为 http 和 https
    将数组元素划分为等长的块(二维数组)
    将数组中的空元素转为 undefined
    将某个类型断言为另一个与之毫无关系的类型
    将前端代码放入 Egg 项目中
    将根组件挂载到 DOM 节点上
    将类数组对象转换成数组
    将 ts 代码转成 js 代码
    将代码推迟到系统资源空闲时执行
    React 将 state 传给子组件用
  • 原文地址:https://www.cnblogs.com/weiman3389/p/6047062.html
Copyright © 2011-2022 走看看