Fork me on GitHub

python中exit()的用法

偶然看到人家写的脚本中使用了exit(0)和exit(1),就资料了一番,总结如下:

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

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

  3. exit()/quit(),跑出SystemExit异常。一般在交互式shell中退出时使用。

  4. python中exit(0) 和exit()1有什么功能?
    在很多类型的操作系统里,exit(0) 可以中断某个程序,而其中的数字参数则用来表示程序是否是碰到错误而中断。exit(1) 表示发生了错误进行退出,而 exit(0) 则表示程序是正常退出的,退出代码是告诉解释器的(或操作系统)。这和我们学的布尔逻辑 0==False 正好相反,不过你可以用不一样的数字表示不同的错误结果。比如你可以用exit(100) 来表示另一种和 exit(2)或 exit(1) 不同的错误。

Demo:

# -*- coding: utf-8 -*-
import os
import re
# 执行jmeter脚本
cmd = "~/uctest/apache-jmeter-2.11/bin/jmeter -n -t ~/uctest/jmx/UC_ORG.jmx"
tmp = os.popen(cmd).read()
print(tmp)

# 输出执行结果
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)
posted @ 2019-07-02 06:14  路痴队长  阅读(59983)  评论(1编辑  收藏  举报