结束运行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 11 Python
使用Python制作微信跳一跳辅助
Jan 31 Python
python读取图片并修改格式与大小的方法
Jul 24 Python
Python tkinter的grid布局及Text动态显示方法
Oct 11 Python
OpenCV搞定腾讯滑块验证码的实现代码
May 18 Python
python实现微信小程序用户登录、模板推送
Aug 28 Python
浅谈pycharm使用及设置方法
Sep 09 Python
Python面向对象程序设计之私有变量,私有方法原理与用法分析
Mar 23 Python
OpenCV+python实现实时目标检测功能
Jun 24 Python
python实现学生管理系统开发
Jul 24 Python
如何在Win10系统使用Python3连接Hive
Oct 15 Python
Python读写锁实现实现代码解析
Nov 28 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
php ajax 静态分页过程形式
2011/09/02 PHP
PHP实现时间轴函数代码
2011/10/08 PHP
解析Linux下Varnish缓存的配置优化
2013/06/20 PHP
分享下页面关键字抓取www.icbase.com站点代码(带asp.net参数的)
2014/01/30 PHP
PHP实现二维数组去重功能示例
2017/01/12 PHP
面向对象的编程思想在javascript中的运用上部
2009/11/20 Javascript
Javascript玩转继承(三)
2014/05/08 Javascript
JQuery插件ajaxfileupload.js异步上传文件实例
2015/05/19 Javascript
js实现Select头像选择实时预览代码
2015/08/17 Javascript
jQuery插件FusionWidgets实现的AngularGauge图效果示例【附demo源码】
2017/03/23 jQuery
Bootstrap Table使用整理(五)之分页组合查询
2017/06/09 Javascript
EasyUI框架 使用Ajax提交注册信息的实现代码
2017/09/27 Javascript
vuex actions传递多参数的处理方法
2018/09/18 Javascript
Vue 处理表单input单行文本框的实例代码
2019/05/09 Javascript
Vue 组件注册全解析
2020/12/17 Vue.js
python uuid模块使用实例
2015/04/08 Python
使用Python的内建模块collections的教程
2015/04/28 Python
Python scikit-learn 做线性回归的示例代码
2017/11/01 Python
Python设计模式之抽象工厂模式原理与用法详解
2019/01/15 Python
python实现nao机器人身体躯干和腿部动作操作
2019/04/29 Python
pandas计算最大连续间隔的方法
2019/07/04 Python
8种用Python实现线性回归的方法对比详解
2019/07/10 Python
python 实现二维字典的键值合并等函数
2019/12/06 Python
CSS3中动画属性transform、transition和animation属性的区别
2016/09/25 HTML / CSS
CSS3实现千变万化的文字阴影text-shadow效果设计
2016/04/26 HTML / CSS
P D PAOLA法国官网:西班牙著名的珠宝首饰品牌
2020/02/15 全球购物
给孩子的新年寄语
2014/04/08 职场文书
设备售后服务承诺书
2014/05/30 职场文书
趣味运动会开幕词
2015/01/28 职场文书
幼儿园小班工作总结2015
2015/04/25 职场文书
幼儿园园长六一致辞
2015/07/31 职场文书
幼儿园教师心得体会范文
2016/01/21 职场文书
在pyCharm中下载第三方库的方法
2021/04/18 Python
python如何做代码性能分析
2021/04/26 Python
如何使用Python实现一个简易的ORM模型
2021/05/12 Python
MySQL分区表管理命令汇总
2022/03/21 MySQL