• python中exit()的用法


    最近在学习的时候用到exit(),发现对它的用法还不熟悉,通过查阅网上的资料,对exit()的用法做一个简单的整理。

    1、
    sys.exit(n) 退出程序引发SystemExit异常,可以捕获异常执行些清理工作。n默认值为0,表示正常退出,其他都是非正常退出。还可以 sys.exit(“sorry, goodbye!”); 一般主程序中使用此退出。

    exit(0) 有什么功能?
    在很多类型的操作系统里,exit(0) 可以中断某个程序,而其中的数字参数则用来表示程序是否是碰到错误而中断。exit(1) 表示发生了错误,而 exit(0) 则表示程序是正常退出的。这和我们学的布尔逻辑 0==False 正好相反,不过你可以用不一样的数字表示不同的错误结果。比如你可以用exit(100) 来表示另一种和 exit(2)或 exit(1) 不同的错误。

    2、
    os._exit(n), 直接退出, 不抛异常, 不执行相关清理工作。常用在子进程的退出。(其使用会受到平台的限制,Win32平台和基于UNIX的平台不会有所影响。)

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

    4、
    os.kill()

    一般用于直接Kill掉进程,但是只能在UNIX平台上有效。

    Windows下Kill进程

    既然在Linux下能够进行上述操作,那么Windows下也能够有相关的操作。

    这里使用的是os.popen(), 该方法是用于直接执行系统命令,而在Windows下其实就是使用taskkill来kill掉进程,其基本形式是,

    taskkill /pid 程序的PID号码

    可以直接在CMD窗口下试下这个命令....

    可以先打开一个计算器程序,然后使用tasklist查看该程序的pid,这里是620,所以对应的Python代码是:

    import os
    
    if __name__ == "__main__":
        pid = 620
        os.popen('taskkill.exe /pid:'+str(pid))
    

    总结;

    sys.exit()的退出比较优雅,调用后会引发SystemExit异常,可以捕获此异常做清理工作。
    os._exit()直接将python解释器退出,余下的语句不会执行。

    一般来说 os._exit() 用于在线程中退出
    sys.exit() 用于在主线程中退出。

  • 相关阅读:
    电子书下载:Web开发新体验ASP.NET 3.5 MVC架构与实战
    电子书下载:Professional ASP.NET MVC 2
    电子书下载:Pro ASP.NET MVC2 Framework 2nd
    为Vmware硬盘减肥瘦身
    CKFinder 2.0.1破解版
    电子书下载:ExtJS4 Web Application Development Cookbook
    电子书下载:Beginning ASP.NET 2.0 and Databases
    Delphi中WebBrowser(或者EmbeddedWebBrowser)控件打开部分网站报“Invalid floating point operation”异常的解决方法
    电子书下载:Test Drive ASP.NET MVC
    电子书下载:Professional ASP.NET 2.0
  • 原文地址:https://www.cnblogs.com/id88/p/14210883.html
Copyright © 2020-2023  润新知