结束运行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 相关文章推荐
Django的session中对于用户验证的支持
Jul 23 Python
Python实现注册登录系统
Aug 08 Python
django+xadmin+djcelery实现后台管理定时任务
Aug 14 Python
python梯度下降法的简单示例
Aug 31 Python
Python将json文件写入ES数据库的方法
Apr 10 Python
PyQt5显示GIF图片的方法
Jun 17 Python
教你一步步利用python实现贪吃蛇游戏
Jun 27 Python
python使用mitmproxy抓取浏览器请求的方法
Jul 02 Python
使用python实现对元素的长截图功能
Nov 14 Python
python 穷举指定长度的密码例子
Apr 02 Python
pymongo insert_many 批量插入的实例
Dec 05 Python
Python之qq自动发消息的示例代码
Feb 18 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和ACCESS写聊天室(八)
2006/10/09 PHP
PHP 应用程序的安全 -- 不能违反的四条安全规则
2006/11/26 PHP
PHP共享内存用法实例分析
2016/02/12 PHP
详解PHP数据压缩、加解密(pack, unpack)
2016/12/17 PHP
JS运行耗时操作的延时显示方法
2010/11/19 Javascript
jquery 插件学习(四)
2012/08/06 Javascript
js图片预加载示例
2014/04/30 Javascript
Jquery插件之Fancybox丰富的弹出层效果附源码下载
2015/12/02 Javascript
使用CDN和AJAX加速WordPress中jQuery的加载
2015/12/05 Javascript
JS操作XML实例总结(加载与解析XML文件、字符串)
2015/12/08 Javascript
莱鸟介绍javascript onclick事件
2016/01/06 Javascript
JavaScript学习小结之被嫌弃的eval函数和with语句实例详解
2016/08/01 Javascript
Vue.js实现微信过渡动画左右切换效果
2017/06/13 Javascript
使用vue实现grid-layout功能实例代码
2018/01/05 Javascript
深入理解JavaScript的async/await
2018/08/05 Javascript
解决layui上传文件提示上传异常,实际文件已经上传成功的问题
2018/08/19 Javascript
详解基于Vue,Nginx的前后端不分离部署教程
2018/12/04 Javascript
EasyUI 数据表格datagrid列自适应内容宽度的实现
2019/07/18 Javascript
解决iview table组件里的 固定列 表格不自适应的问题
2020/11/13 Javascript
[01:08:33]OG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python BeautifulSoup设置页面编码的方法
2015/04/03 Python
Python多进程并发(multiprocessing)用法实例详解
2015/06/02 Python
Python中使用支持向量机SVM实践
2017/12/27 Python
Python+tkinter模拟“记住我”自动登录实例代码
2018/01/16 Python
python编写暴力破解zip文档程序的实例讲解
2018/04/24 Python
Python搭建代理IP池实现获取IP的方法
2019/10/27 Python
Tensorflow设置显存自适应,显存比例的操作
2020/02/03 Python
Unix/Linux开发面试题
2016/08/16 面试题
中职生自我鉴定范文
2013/10/03 职场文书
自荐信如何“自荐”
2013/10/24 职场文书
房产公证书格式
2015/01/26 职场文书
嘉宾邀请函
2015/01/31 职场文书
社会实践单位意见
2015/06/05 职场文书
mysql多表查询-笔记七
2021/04/05 MySQL
防止web项目中的SQL注入
2021/12/06 MySQL
漫画「古见同学有交流障碍症」第25卷封面公开
2022/03/21 日漫