重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
程序一定会运行到clean()函数,但是,如果你代码写的多,你就应该知道,滥用try...except...会让你非常痛苦。例如它突然给你打印一个运行异常: 1。你根本不知道是哪里出了问题,也不知道具体出了什么问题。为了找到问题,你必须让程序把错误爆出来。但这样一来,clean()又不能正常运行了。Python退出时强制运行一段代码
成都创新互联致力于成都网站制作、成都网站设计,成都网站设计,集团网站建设等服务标准化,推过标准化降低中小企业的建站的成本,并持续提升建站的定制化服务水平进行质量交付,让企业网站从市场竞争中脱颖而出。 选择成都创新互联,就选择了安全、稳定、美观的网站建设服务!
有什么办法,既能让程序报错,又能在报错已经还能运行clean()呢?
这个时候,我们就可以使用Python自带的atexit这个模块了。它的使用方法非常简单:
import atexit
@atexit.register
def clean():
print('清理环境相关的代码')
setup()
test()
这样一来,我们不需要显式调用clean函数了。无论程序正常结束,还是程序异常报错,clean函数里面的内容总会执行。
我们这里使用的是python3.6版本,我们先确认python版本及python正常工作。如下面图中所示,python版本是3.6.5,可以正常登陆。
请点击输入图片描述
我们首先来看第一种方式,使用python提供的exit()函数,如下面两张图中所示,分别是linux平台和windows平台上的exit()函数执行结果。可以看到,都可以正常退出。唯一的区别是,windows平台结束后多输出了一行空行。
请点击输入图片描述
请点击输入图片描述
再看python提供的第二个函数quit(),同样是linux和windows平台,执行结果一致。都可以正常退出,windows平台多输出一行空行。
请点击输入图片描述
请点击输入图片描述
函数方式看完了以后,我们来看快捷键退出的方式。先看快捷键Ctrl +D的组合。如下面两张图中所示,分别是linux平台和windows平台上使用Ctrl+D的组合键,可以看到,linux平台上直接退出,而windows平台上先出现一个^D的字符,敲回车后,提示语法错误,无法正常退出。这里就有区别了。
请点击输入图片描述
请点击输入图片描述
再看第二张快捷键的组合方式Ctrl+Z,如下面两张图中所示,分别是linux平台和windows平台,linux平台上显示进程已结束,程序退出。而在windows平台上按下Ctrl+Z组合键时,只会显示^Z字符,然后再敲一下回车才能正常退出,这个命令上,linux平台和windows平台也有区别。
请点击输入图片描述
请点击输入图片描述
最后我们再来看一个linux平台上的python命令行退出方式,这个方式只适合一些特殊场合,例如通过xshell工具连接到linux服务器上运行python命令行时,xshell卡死了。这个时候就可以用这个方法。打开另外一个命令行,输入命令:
ps aux | grep python
找到所有python命令行,比如我这里就有两个,进程ID分别是12525 12655,如下面图中所示:
请点击输入图片描述
然后使用kill命令杀掉这两个进程,如下面图中所示,杀掉进程后,在启动python命令行的shell界面,就会显示进程被退出。这种属于不正常的退出,只适合特殊情况。到这里,几种退出方式就讲解完毕啦。
请点击输入图片描述
请点击输入图片描述
在 Python 中,“return”函数的用法如下:
1、return 语句用于退出函数,终止函数并将 return 值传回。实例:
def a(x,y):
if x==y:
return x,y
2、用于同一循环语句下,遇到第一个 return 后即返回。实例:
```python
def fun(a,b):
print (a)
return a
print (b)
return b
resunlt = fun(2,6)
2
```
3、用于 return 在不带参数的情况下(或者没有写 return 语句),默认返回 None。实例:
def recurve(a,b):
if a%b==0:
return b
else:
gcd(b,a%b)
以上内容参考:百度百科-Python
在一个死循环中,不使用return、break的情况下,强制退出程序。
#python #结束进程 #多线程
Python入门题039:退出程序(5种方法)
代码1:
代码2:
代码3:
另开一个终端,ps查看test.py的进程号,然后kill -9杀死该进程。
或直接退出当前运行终端。