python中断程序执行(不抛出异常)
文章目录
- 1. quit()
- 2. exit()
- 3. sys.exit([arg])
- 4. os._exit(n)
函数quit(),exit(),sys.exit()和os._exit()具有几乎相同的功能,都能引发SystemExit异常,Python解释器通过该异常退出执行且不打印堆栈回溯(不把异常打印出来)。
当运行Python程序时,正常都是从上到下执行脚本中所有代码,当python解释器执行到脚本的末端就会自动退出,但是有时我们可能需要调用内建函数显示退出程序。
1.sys.exit(n) 退出程序引发SystemExit异常, 可以捕获异常执行些清理工作. n默认值为0, 表示正常退出. 其他都是非正常退出. 还可以sys.exit(“sorry, goodbye!”); 一般主程序中使用此退出.
2. os._exit(n), 直接退出, 不抛异常, 不执行相关清理工作. 常用在子进程的退出.
3. exit()/quit(), 跑出SystemExit异常. 一般在交互式shell中退出时使用.
在四个退出函数中,sys.exit()是最好的,因为在编程环境中不能使用exit()和quit()函数,而os._exit()只在需要立即退出这种情况下才会使用。
1. quit()
这个函数不能用在实际的代码编写环境中,只能用在编译器interpreter中。
它在后台引发SystemExit异常。 如果进行打印,它将显示一条消息:
# Python program to demonstrate quit()
for i in range(10): # If the value of i becomes 5 then the program is forced to quit if i == 5: # prints the quit message print(quit) quit() print(i)
期望的输出应该是这样的:
但是如果非要在python代码环境下搞。。。就是这样的
但是,如果把上述代码写到一个.py文件中,在命令行调用:
就对了,哈哈哈哈
2. exit()
就是quit()的同义表达,也是只能在解释器中使用,不能直接在代码中执行。类似于quit(),也会打印出一条信息。(确实很像,哈哈哈。)
3. sys.exit([arg])
不同于上面两个只能用在命令行中。sys.exit()只要引入了sys包,就可以直接在脚本代码中执行。arg参数一般是整数,0的话就表明"正常/成功终止"了。也可以是其他的类型的对象,比如字符串
import sys
sys.exit("Age less than 18")
可以看到,触发了 这个 SystemExit
异常
如果是执行一个.py文件(不是这种逐行执行的环境),直接在pycharm里运行的话。
import sys
sys.exit("反正我退出了")
4. os._exit(n)
Python中的os._exit()方法用于以指定状态退出进程,而无需调用清除处理程序,刷新stdio缓冲区等。
注意:此方法通常在os.fork()系统调用之后的子进程中使用。 退出该进程的标准方法是sys.exit(n)方法。
主要参考:
- geeksforgeeks——Python exit commands: quit(), exit(), sys.exit() and os._exit()
- 知乎——python 中 os._exit(), sys.exit(), exit() 的区别是什么?
- CSDN-python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别
python中断程序执行(不抛出异常)相关推荐
- python读文件路径-python获取程序执行文件路径的方法(推荐)
1.获取当前执行主脚本方法:sys.argv[0]和_ file _ (1)sys.argv 一个传给Python脚本的指令参数列表.sys.argv[0]是脚本的名字.一般得到的是相对路径,用os. ...
- 51单片机外部中断实验 设置中断优先级寄存器,当有外部中断0请求中断时,中断程序执行发光二极管程序,在此过程中,外部中断1也有中断请求,外部中断0的中断程序将被中断去执行外部中断1的中断程序(数码管
设置中断优先级寄存器,当有外部中断0请求中断时,中断程序执行发光二极管程序,在此过程中,外部中断1也有中断请求,外部中断0的中断程序将被中断去执行外部中断1的中断程序(数码管加1显示程序). #inc ...
- Python(7)-程序执行的原理
程序执行的原理 1.计算机中的三个核心部件 2.程序执行的原理 3.程序的作用 1.计算机中的三个核心部件 CPU:中央处理区,超大规模的集成电路,负责处理数据.计算 内存:临时存储数据,断电数据消失 ...
- python+selenium自动化测试环境搭建(Python+Selenium程序执行完,chrome浏览器自动关闭解决方案)
第一步:安装python解释器 官网地址:https://www.python.org/ 我的版本是python3.9 第二步:安装pycharm编译器. 第三步:安装selenium库 1.以管理员 ...
- python相同程序执行结果不同_原理相同只是精简了的python代码,运行结果不同是为什么...
deal_way = list(soup.select('div.biaoqian_li').stripped_strings) # deal_ways = soup.select('div.biao ...
- python导包顺序_2019-03-21 python导入包以及Python程序执行顺序理解
http://codingpy.com/article/python-import-101/ https://segmentfault.com/a/1190000009842139 (一)Python ...
- python怎么退出执行/退出程序语句
python怎么退出执行/退出程序语句 文章目录 python怎么退出执行/退出程序语句 sys.exit()函数 raise SystemExit()异常 os._exit()函数 Ctrl+C中断 ...
- sql crud_使用适用于SQL Server的Python SQL库执行CRUD操作
sql crud This article covers how to connect a Python application to Microsoft SQL Server using a 3rd ...
- python程序执行提示音——python播放MP3文件
python程序执行提示音设置 # !pip install playsound from playsound import playsoundif __name__ == "__main_ ...
- 提高python执行效率_关于提高python程序执行效率的思路和想法
原博文 2016-06-09 22:25 − 相比编译型语言(C系列)python胜在简介的语法和优雅的动态编程体验,但是在执行效率上,python有解释性语言先天的劣势--执行效率较低,为了让编写出 ...
最新文章
- java script怎么用_如何在HTML中使用javascript?
- 判断是否Ajax请求
- python鸡兔同笼编程输出不存在合理答案_Python 解答鸡兔同笼和五家共井问题
- Django框架深入了解_04(DRF之url控制、解析器、响应器、版本控制、分页)(二)
- VTK:小部件之BorderWidget
- P4555 最长双回文串
- django-csrftoken跨站请求伪造
- python基本数据类型float_Python基本数据类型
- wpf listBox 多列大图片效果
- Rsyslog的模板template详解
- 移动端DNUN:危险通知和用户导航
- linux打开mid格式音乐,mid文件扩展名,mid文件怎么打开?
- Quartus-ll 采用三种方法实现 D 触发器功能仿真及时序波形仿真详细步骤
- 中科院ICTCLAS分词汉语词性标记集
- 如何在机智云开发平台快速创建具有商用租赁效果的硬件产品
- 【数据结构与算法】数据结构+算法=程序
- 如何在命令行窗口运行某个文件夹下的exe程序
- 【Wireshark系列一】Wireshark基本用法
- 硬盘分区修复和碎片整理命令
- PCB工程分享:快速了解PCB设计入门基础知识