首页 > python教程

结束运行python的方法

时间:2020-09-17 python教程 查看: 840

有时当一个条件成立的情况下,需要终止程序,可以使用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 多线程
下一篇:解决Keras 中加入lambda层无法正常载入模型问题
输入字:
相关知识
Python 实现图片色彩转换案例

我们在看动漫、影视作品中,当人物在回忆过程中,体现出来的画面一般都是黑白或者褐色的。本文将提供将图片色彩转为黑白或者褐色风格的案例详解,感兴趣的小伙伴可以了解一下。

python初学定义函数

这篇文章主要为大家介绍了python的定义函数,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助,希望能够给你带来帮助

图文详解Python如何导入自己编写的py文件

有时候自己写了一个py文件,想要把它导入到另一个py文件里面,所以下面这篇文章主要给大家介绍了关于Python如何导入自己编写的py文件的相关资料,需要的朋友可以参考下

python二分法查找实例代码

二分算法是一种效率比较高的查找算法,其输入的是一个有序的元素列表,如果查找元素包含在列表中,二分查找返回其位置,否则返回NONE,下面这篇文章主要给大家介绍了关于python二分法查找的相关资料,需要的朋友可以参考下