结束运行python的方法


Posted in Python onJune 16, 2020

有时当一个条件成立的情况下,需要终止程序,可以使用sys.exit()退出程序。sys.exit()会引发一个异常

1.如果这个异常没有被捕获,那么python编译器将会退出,后面的程序将不会执行。

2.如果这个异常被捕获(try...except...finally),捕获这个异常可以做一些额外的清理工作,后面的程序还会继续执行。

注:0为正常退出,其他数值(1-127)为不正常,可抛异常事件供捕获。

另一种终止程序的方法os._exit()

一般情况下使用sys.exit()即可,一般在fork出来的子进程中使用os._exit()

import os, sys
import pandas as pd
import numpy as np
df=pd.DataFrame({'a':[1,2,3,4],
        'b':['a','b','c',np.nan],
        'c':['2017-09','2017-09-12','2017-08-22','2017-07-11'],
        'd':['2017-09','2017-12','2017-08','2017-07']})
t=df.iloc[2,:].tolist()
df.columns=t
print(df)
c=[1,2,5]
dic={1:2,2:3,3:4}
#print(dic.keys())
new_col=[]
for x in c:
  if x not in dic.keys():
    new_col.append(x)
if new_col:
  print(new_col)
  sys.exit(1)
print('ssss')

知识点扩展:

1. sys.exit()

执行该语句会直接退出程序,这也是经常使用的方法,也不需要考虑平台等因素的影响,一般是退出Python程序的首选方法。

该方法中包含一个参数status,默认为0,表示正常退出,也可以为1,表示异常退出。

import sys
sys.exit()
sys.exit(0)
sys.exit(1)

该方法引发的是一个SystemExit异常(这是唯一一个不会被认为是错误的异常),当没有设置捕获这个异常将会直接退出程序执行,当然也可以捕获这个异常进行一些其他操作。

2. os._exit()

效果也是直接退出,不会抛出异常,但是其使用会受到平台的限制,但我们常用的Win32平台和基于UNIX的平台不会有所影响。

知乎上有说是调用了C 语言的 _exit() 函数(未考证)

3. os.kill()

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

基本原理:该函数是模拟传统的UNIX函数发信号给进程,其中包含两个参数:一个是进程名,即所要接收信号的进程;一个是所要进行的操作。

到此这篇关于结束运行python的方法的文章就介绍到这了,更多相关如何结束运行python内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python实现去除代码前行号的方法
Mar 10 Python
Python实现PS滤镜特效之扇形变换效果示例
Jan 26 Python
python多线程同步之文件读写控制
Feb 25 Python
django中使用事务及接入支付宝支付功能
Sep 15 Python
python 模拟创建seafile 目录操作示例
Sep 26 Python
python编写计算器功能
Oct 25 Python
Python递归及尾递归优化操作实例分析
Feb 01 Python
如何利用python读取micaps文件详解
Oct 18 Python
python实现一个简单RPC框架的示例
Oct 28 Python
python各种excel写入方式的速度对比
Nov 10 Python
scrapy处理python爬虫调度详解
Nov 23 Python
提取视频中的音频 Python只需要三行代码!
May 10 Python
深入理解Python 多线程
Jun 16 #Python
keras.layer.input()用法说明
Jun 16 #Python
python适合做数据挖掘吗
Jun 16 #Python
Python+PyQt5+MySQL实现天气管理系统
Jun 16 #Python
Python实现SMTP邮件发送
Jun 16 #Python
python语言中有算法吗
Jun 16 #Python
python爬虫可以爬什么
Jun 16 #Python
You might like
ExtJS与PHP、MySQL实现存储的方法
2010/04/02 PHP
PHP 调试工具Debug Tools
2011/04/30 PHP
ubuntu下编译安装xcache for php5.3 的具体操作步骤
2013/06/18 PHP
如何在旧的PHP系统中使用PHP 5.3之后的库
2015/12/02 PHP
24条货真价实的PHP代码优化技巧
2016/07/28 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式二图文详解
2019/04/09 PHP
Thinkphp5.0 框架的请求方式与响应方式分析
2019/10/14 PHP
HTML,CSS,JavaScript速查表推荐
2014/12/02 Javascript
JQuery使用index方法获取Jquery对象数组下标的方法
2015/05/18 Javascript
javascript插件开发的一些感想和心得
2016/02/28 Javascript
js学习阶段总结(必看篇)
2016/06/16 Javascript
基于AGS JS开发自定义贴图图层
2017/03/31 Javascript
jQuery扇形定时器插件pietimer使用方法详解
2017/07/18 jQuery
jquery在vue脚手架中的使用方式示例
2017/08/29 jQuery
Angular 封装并发布组件的方法示例
2018/04/19 Javascript
javascript少儿编程关于返回值的函数内容
2018/05/27 Javascript
JS引用传递与值传递的区别与用法分析
2018/06/01 Javascript
JS造成内存泄漏的几种情况实例分析
2020/03/02 Javascript
vue使用element-ui实现表单验证
2020/12/13 Vue.js
Python出现segfault错误解决方法
2016/04/16 Python
用生成器来改写直接返回列表的函数方法
2017/05/25 Python
python @classmethod 的使用场合详解
2019/08/23 Python
联想英国官网:Lenovo英国
2019/07/17 全球购物
Python是如何进行类型转换的
2013/06/09 面试题
园林技术个人的自我评价
2014/01/08 职场文书
消防应急演练方案
2014/02/12 职场文书
政治思想表现评语
2014/05/04 职场文书
企业负责人任命书
2014/06/05 职场文书
空气的环保标语
2014/06/12 职场文书
植树造林的宣传标语
2014/06/23 职场文书
会计专业求职信
2014/08/10 职场文书
青春励志演讲稿范文
2014/08/25 职场文书
2015年教研室工作总结范文
2015/05/23 职场文书
Python面向对象之成员相关知识总结
2021/06/24 Python
gateway与spring-boot-starter-web冲突问题的解决
2021/07/16 Java/Android
MYSQL如何查看操作日志详解
2022/05/30 MySQL