结束运行python的方法

有时当一个条件成立的情况下,需要终止程序,可以使用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内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python的几种主动结束程序方式

    对于如何结束一个Python程序或者用Python操作去结束一个进程等,Python本身给出了好几种方法,而这些方式也存在着一些区别,对相关的几种方法看了并实践了下,同时也记录下. 参考: Python 核心编程(第二版) http://www.zhihu.com/question/21187839 1. sys.exit() 执行该语句会直接退出程序,这也是经常使用的方法,也不需要考虑平台等因素的影响,一般是退出Python程序的首选方法. 该方法中包含一个参数status,默认为0,表示正常

  • Python获取昨天、今天、明天开始、结束时间戳的方法

    如下所示: #!/usr/bin/python # coding=utf-8 # import time import datetime # 今天日期 today = datetime.date.today() # 昨天时间 yesterday = today - datetime.timedelta(days=1) # 明天时间 tomorrow = today + datetime.timedelta(days=1) acquire = today + datetime.timedelta(

  • python自动结束mysql慢查询会话的实例代码

    生产环境的有些sql查询写得太复杂,或是表很大,对应索引未建立或建立不合理,或是查询未充分使用索引等,就有可能出现慢查询,一些慢查询需要修改程序,可能没那么快能解决,这时如果有个脚本能自动检测符合条件的慢查询会话并结束,那么是很方便的,当然运维人员也可顺便弄个检测慢查询并告警的脚本. 涉及知识点 mysql慢查询会话查询 schedule定时任务调度 pymysql执行sql 代码分解 mysql慢查询 #会话查询,只能查询所有会话,不能按条件过滤,不过比较好记 show PROCESSLIST

  • Python多线程:主线程等待所有子线程结束代码

    我就废话不多说了,还是直接看代码吧! from time import ctime import threading import time def a():     #for i in range(5):         print('Program a is running... at ', ctime(),u'.线程名为:',threading.current_thread().name )         time.sleep(0.2)          def b(x):     #f

  • python主线程与子线程的结束顺序实例解析

    这篇文章主要介绍了python主线程与子线程的结束顺序实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 引用自 主线程退出对子线程的影响 的一段话: 对于程序来说,如果主进程在子进程还未结束时就已经退出,那么Linux内核会将子进程的父进程ID改为1(也就是init进程),当子进程结束后会由init进程来回收该子进程. 主线程退出后子线程的状态依赖于它所在的进程,如果进程没有退出的话子线程依然正常运转.如果进程退出了,那么它所有的线程都会

  • 结束运行python的方法

    有时当一个条件成立的情况下,需要终止程序,可以使用sys.exit()退出程序.sys.exit()会引发一个异常 1.如果这个异常没有被捕获,那么python编译器将会退出,后面的程序将不会执行. 2.如果这个异常被捕获(try...except...finally),捕获这个异常可以做一些额外的清理工作,后面的程序还会继续执行. 注:0为正常退出,其他数值(1-127)为不正常,可抛异常事件供捕获. 另一种终止程序的方法os._exit() 一般情况下使用sys.exit()即可,一般在fo

  • IntelliJ IDEA安装运行python插件方法

    IDEA 工具是我们常用的开发工具,全称:IntelliJ IDEA,它的功能强大就在于我们可以添加各种插件来编写不同的代码,当然也可以用来编写python,这篇文章我们来讲解,如何用IDEA来安装python插件,以及运行python 1.首先打开IDEA,然后找到Configure 2.点击后,我们可以看到Plugins,也就是插件的意思,然后点击 3.在搜索框中,我们输入python,会提示我们没有找到该插件 4.然后点击search in repositories(在仓库里搜索),我们就

  • ipad上运行python的方法步骤

    ipad上可以运行python么? ipad上是可以运行python的. 1.在我们的ipad上百度搜索Python,点击进去. 2.进去网站之后,点击"Downloads->Windows",选择"Windows x86-64 executable installer"版本的Python进行下载. 3.下载完Python之后,双击进行安装,点击"Install Now",可以看到默认的安装路径是"C:\Users\a\AppDa

  • 以windows service方式运行Python程序的方法

    本文实例讲述了以windows service方式运行Python程序的方法.分享给大家供大家参考.具体实现方法如下: #!/usr/bin/env python # coding: utf-8 # SmallestService.py # # A sample demonstrating the smallest possible service written in Python. import win32serviceutil import win32service import win3

  • Python实现从脚本里运行scrapy的方法

    本文实例讲述了Python实现从脚本里运行scrapy的方法.分享给大家供大家参考.具体如下: 复制代码 代码如下: #!/usr/bin/python import os os.environ.setdefault('SCRAPY_SETTINGS_MODULE', 'project.settings') #Must be at the top before other imports from scrapy import log, signals, project from scrapy.x

  • Python实现在线程里运行scrapy的方法

    本文实例讲述了Python实现在线程里运行scrapy的方法.分享给大家供大家参考.具体如下: 如果你希望在一个写好的程序里调用scrapy,就可以通过下面的代码,让scrapy运行在一个线程里. """ Code to run Scrapy crawler in a thread - works on Scrapy 0.8 """ import threading, Queue from twisted.internet import reac

  • Python中统计函数运行耗时的方法

    本文实例讲述了Python中统计函数运行耗时的方法.分享给大家供大家参考.具体实现方法如下: import time def time_me(fn): def _wrapper(*args, **kwargs): start = time.clock() fn(*args, **kwargs) print "%s cost %s second"%(fn.__name__, time.clock() - start) return _wrapper #这个装饰器可以在方便地统计函数运行的

  • ubuntu下让python脚本可直接运行的实现方法

    我们还是以那个翻译程序为例子,上次给各位老铁讲了在windows下的应用程序打包,这一次给各位老铁讲一讲,在linux下为python文件可以自己执行,从而不需要python xxx.py. 很简单,在python源文件最上面添上下面一句话! #!/usr/bin/python3 /usr/bin/python3,是ubuntu下python3解释器所在的目录,具体可以用which python3查看 然后在执行chmod +x ./xxx.py,为python脚本增加可执行权限 例如我这里 s

  • 教你如何编写、保存与运行Python程序的方法

    第一步 接下来我们将看见如何在 Python 中运行一个传统的"Hello World"程序.Python教程本章将会教你如何编写.保存与运行 Python 程序. 通过 Python 来运行的你的程序有两种方法--使用交互式解释器提示符或直接运行一个源代码文件.我们将了解如何使用他们二者的功能. 使用解释器提示符 在你的操作系统中打开终端(Terminal)程序(正如我们先前在安装章节所讨论过的那样)然后通过输入python3并按下[enter]键来打开 Python 提示符(Pyt

  • 浅谈python脚本设置运行参数的方法

    正在学习Django框架,在运行manage.py的时候需要给它设置要监听的端口,就是给这个脚本一个运行参数.教学视频中,是在Eclipse中设置的运行参数,网上Django大部分都是在命令行中运行manage.py时添加参数,没有涉及到如何在pycharm中设置运行参数.以下是两种设置运行参数的方法(以manage.py为例),不设置运行参数时,运行结果为 D:\Python2.7\python.exe "D:/Django project/DjangoProject1/manage.py&q

随机推荐