结束运行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

标签:结束运行,python
0
投稿

猜你喜欢

  • python 图像插值 最近邻、双线性、双三次实例

    2023-01-09 07:48:56
  • MySQL之导出整个及单个表数据的操作

    2024-01-17 00:52:02
  • Linux系统中MySQL的常用操作命令

    2024-01-18 22:00:10
  • C#查询SqlServer数据库并返回单个值的方法

    2024-01-24 08:05:52
  • centos7 + php7 lamp全套最新版本配置及mongodb和redis教程详解

    2024-05-22 10:08:46
  • 如何用Frontpage下载别人的网站模板

    2008-03-03 12:58:00
  • Go 加密解密算法小结

    2024-04-26 17:29:00
  • 处理SQL Server 2000的命名实例和多实例

    2009-01-19 13:28:00
  • 非常全面的实用JavaScript开发工具列表

    2010-01-05 16:44:00
  • 解决pycharm每次新建项目都要重新安装一些第三方库的问题

    2023-02-22 23:08:22
  • 基于javascript实现全国省市二级联动下拉选择菜单

    2023-09-14 06:08:52
  • python实现批量命名照片

    2021-11-03 18:07:42
  • python中用Scrapy实现定时爬虫的实例讲解

    2023-07-26 05:47:01
  • 如何用python将单引号替换为双引号

    2023-06-19 06:26:29
  • MSSQL 基本语法及实例操作语句

    2024-01-28 10:29:59
  • ASP.Net Core MVC基础系列之中间件

    2024-05-09 09:04:47
  • python使用datetime模块计算各种时间间隔的方法

    2021-11-28 05:31:35
  • MySQL组合索引与最左匹配原则详解

    2024-01-24 18:28:16
  • Python中random模块生成随机数详解

    2023-06-13 16:11:52
  • javascript双击自动滚屏单击停止

    2008-10-13 13:05:00
  • asp之家 网络编程 m.aspxhome.com