结束运行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的Django框架中调用方法和处理无效变量
Jul 15 Python
深入解读Python解析XML的几种方式
Feb 16 Python
python解决Fedora解压zip时中文乱码的方法
Sep 18 Python
Python内建模块struct实例详解
Feb 02 Python
python pandas修改列属性的方法详解
Jun 09 Python
PYQT5设置textEdit自动滚屏的方法
Jun 14 Python
30秒学会30个超实用Python代码片段【收藏版】
Oct 15 Python
python带参数打包exe及调用方式
Dec 21 Python
Keras实现支持masking的Flatten层代码
Jun 16 Python
python实现最短路径的实例方法
Jul 19 Python
Python计算矩阵的和积的实例详解
Sep 10 Python
关于python中模块和重载的问题
Nov 02 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新手上路(三)
2006/10/09 PHP
escape unescape的php下的实现方法
2007/04/27 PHP
PHP写的获取各搜索蜘蛛爬行记录代码
2012/08/21 PHP
ThinkPHP CURD方法之page方法详解
2014/06/18 PHP
PHP+jQuery 注册模块的改进(三):更新到Smarty3.1
2014/10/14 PHP
PHP中__FILE__、dirname与basename用法实例分析
2014/12/01 PHP
php实现网页缓存的工具类分享
2015/07/14 PHP
10个php函数实用却不常见
2015/10/13 PHP
PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)
2016/09/11 PHP
php 可变函数使用小结
2018/06/12 PHP
Laravel框架表单验证操作实例分析
2019/09/30 PHP
JQuery从头学起第三讲
2010/07/06 Javascript
jQuery中使用了document和window哪些属性和方法小结
2011/09/13 Javascript
使用按钮控制以何种方式打开新窗口的属性介绍
2012/12/17 Javascript
jQuery 无刷新分页实例代码
2013/11/12 Javascript
Js保留小数点的4种效果实现代码分享
2014/04/12 Javascript
JS+CSS实现自动切换的网页滑动门菜单效果代码
2015/09/14 Javascript
实例详解AngularJS实现无限级联动菜单
2016/01/15 Javascript
js下将金额数字每三位一逗号分隔
2016/02/19 Javascript
Vue代码分割懒加载的实现方法
2017/11/23 Javascript
Vue如何提升首屏加载速度实例解析
2020/06/25 Javascript
Vue2.0 $set()的正确使用详解
2020/07/28 Javascript
python使用内存zipfile对象在内存中打包文件示例
2014/04/30 Python
详解在Python的Django框架中创建模板库的方法
2015/07/20 Python
Python编程中NotImplementedError的使用方法
2018/04/21 Python
浅谈Python2、Python3相对路径、绝对路径导入方法
2018/06/22 Python
对PyQt5的输入对话框使用(QInputDialog)详解
2019/06/25 Python
python实现图书馆抢座(自动预约)功能的示例代码
2020/09/29 Python
使用phonegap创建联系人的实现方法
2017/03/30 HTML / CSS
HTML5 常见面试题之PC端和移动端区别介绍
2018/01/22 HTML / CSS
财务会计人员求职的自我评价
2014/01/13 职场文书
医生爱岗敬业演讲稿
2014/08/26 职场文书
大学生党员批评与自我批评
2014/09/28 职场文书
公司法定代表人授权委托书
2014/09/29 职场文书
四风专项整治工作情况汇报
2014/10/28 职场文书
MySQL中你可能忽略的COLLATION实例详解
2021/05/12 MySQL