python sys.exit()方法try语句详解
sys.exit()方法
python标准库sys中的exit()方法,可以用于退出当前的python程序,并抛出一个SystemExit异常,可以通过python的try...except语句对其进行捕获,处理(具体见下方实例解析)。下方举两个例子来阐释exit()方法,差不多相同的代码在不同的编辑器中运行的效果,一个是python的即时交互编辑器shell,一个是在py文件中。
语法和参数
sys.exit(n)
提示:参数n的值可以自定义。
exit()实例代码
首先是在python自带的即时交互编辑器shell中:
>>> import sys
>>> sys.exit(0) #参数为0,该方法直接退出python程序
(base) MacBook-Pro:~ z$
>>> import sys
>>> sys.exit('hello') #参数为字符串,该方法退出程序时抛出参数的值
hello
(base) MacBook-Pro:~ z$
>>> import sys
>>> try:
... sys.exit('hello')
... except SystemExit as err:
... print(err)
...
hello #使用try语句之后,python程序并没有退出!
>>>
最后一段代码中,当使用try语句对sys.exit()抛出的SystemExit进行捕捉,得到的err正是exit()参数的值,为了探讨这一点,下面将建立一个py文件来实验,第一段代码如下:
import sys
try:
sys.exit(0)
print('如果没有异常,会执行这样代码')
except SystemExit as err:
pirint(err)
print('如果这样代码输出,则表明异常被捕捉')
#执行 python3 test.py命令后输出的内容
0
如果这样代码输出,则表明异常被捕捉
实例代码解析
如上代码,test.py文件运行之后,抛出了SystemExit异常,因为sys.exit(0)下方的print语句并没有被执行,而是直接被except捕获。