结束运行python的方法
作者:silencement 时间:2022-12-07 02:56:02
有时当一个条件成立的情况下,需要终止程序,可以使用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函数发信号给进程,其中包含两个参数:一个是进程名,即所要接收信号的进程;一个是所要进行的操作。
来源:https://www.py.cn/faq/python/11872.html
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
python 图像插值 最近邻、双线性、双三次实例
MySQL之导出整个及单个表数据的操作
Linux系统中MySQL的常用操作命令
C#查询SqlServer数据库并返回单个值的方法
centos7 + php7 lamp全套最新版本配置及mongodb和redis教程详解
如何用Frontpage下载别人的网站模板
![](https://img.aspxhome.com/file/uploadpic/20083/3/200833125925418.gif)
Go 加密解密算法小结
处理SQL Server 2000的命名实例和多实例
非常全面的实用JavaScript开发工具列表
![](https://img.aspxhome.com/file/UploadPic/20101/11/200912311344278032-17s.jpg)
解决pycharm每次新建项目都要重新安装一些第三方库的问题
![](https://img.aspxhome.com/file/2023/0/110230_0s.jpg)
基于javascript实现全国省市二级联动下拉选择菜单
![](https://img.aspxhome.com/file/2023/3/56303_0s.jpg)
python实现批量命名照片
![](https://img.aspxhome.com/file/2023/3/77043_0s.png)
python中用Scrapy实现定时爬虫的实例讲解
如何用python将单引号替换为双引号
MSSQL 基本语法及实例操作语句
ASP.Net Core MVC基础系列之中间件
![](https://img.aspxhome.com/file/2023/4/129804_0s.jpg)