详解sys.exit()(退出当前程序)函数的使用方法

  • Post category:Python

Python sys.exit()函数作用与使用方法攻略

作用

Python中sys模块提供了sys.exit()函数,它可以用于终止程序的运行,并返回一个状态码。当程序运行到sys.exit()语句时,会立即终止程序,并附上一个状态码。状态码默认为0,表示程序正常结束;非0状态码表示程序出现异常或意外终止。

使用方法

sys.exit()语句通常放在程序的异常处理部分,用于在发生异常时,可以快速退出程序,并返回合适的状态码。sys.exit()函数可以接收一个整数参数status,表示终止程序时返回的状态码。

import sys

try:
    int('foo')
except ValueError:
    print("Oops! ValueError occurred.")
    sys.exit(1)

上述示例中,当int(‘foo’)语句抛出ValueError异常时,程序会执行sys.exit(1),并返回状态码1。

如果不提供状态码或者状态码为0时,程序会以正常的方式退出。如果状态码为其他数值,表示程序的退出状态不正常,可以根据该状态码进行调试或问题定位。

实例说明

示例1

import sys

num = input("请输入一个数字:")

try:
    result = 10/int(num)
    print("计算结果为:{}".format(result))
except ZeroDivisionError:
    print("除数不能为0!")
    sys.exit(1)
except ValueError:
    print("输入内容非数字!")
    sys.exit(2)

上述示例中,程序要求用户输入一个数字,然后计算10除以输入的数字,并返回结果。在输入非数字或0的情况下,将触发异常并立即退出程序。当程序终止时,会返回相应的状态码,以便调试或问题定位。

示例2

import sys

def main():
    if len(sys.argv) != 2:
        print("Usage: python {} <filename>".format(sys.argv[0]))
        sys.exit(1)
    filename = sys.argv[1]
    try:
        with open(filename) as f:
            content = f.read()
        print(content)
    except FileNotFoundError:
        print("文件未找到!")
        sys.exit(2)

if __name__ == '__main__':
    main()

上述示例是一个简单的文件读取程序。该程序要求用户在命令行中输入一个文件名,程序将读取该文件内容并输出。在用户未提供文件名或指定的文件不存在时,程序将退出并返回相应的状态码,以便调试或问题定位。