python中exit(0) 和exit()、os._exit(n)、sys.exit(n)的区别

一般来说os._exit() 用于在线程中退出
sys.exit() 用于在主线程中退出。

=========================================

os._exit(n): 直接退出, 不抛异常, 不执行相关清理工作。常用在子进程的退出。

sys.exit(n) :退出程序引发SystemExit异常,可以捕获异常执行些清理工作。n默认值为0,表示正常退出,其他都是非正常退出。还可以sys.exit(“sorry, goodbye!”); 一般主程序中使用此退出

exit()/quit()跟sys.exit(n)没什么区别,也抛出SystemExit异常。一般只在shell命令行页面退出python。

============================================

python中exit(0) 和exit()1有什么功能?

exit(1) 表示发生了错误进行退出,而 exit(0) 则表示程序是正常退出的,0后面的子进程代码不再执行

# -*- coding: utf-8 -*-
import os
import re

cmd = "python  /root/b/py.py"  #需要执行命令或程序 py.py=print("我是怎么打印出来的")
tmp = os.popen(cmd).read()   #运行的结果,此处只能read 命令print的结果
print(tmp)                                #这里就会从打印“py.py”输出的结果
 
# 输出执行结果
regex = re.compile('summary = .*?\(0.00%\)', re.S)
result = re.findall(regex, tmp)
if len(result) > 0:
    print("successed")
    exit(0)
else:
    print("failed")
    exit(1)

 

 


版权声明:本文为m0_58606548原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。