Python sys.exit() 方法



Python sys.exit() 方法用于终止程序的执行。它可选地接受一个整数或字符串作为参数,用作退出状态。按照惯例,参数 0 表示成功终止,而任何非零值都表示错误。

如果 sys.exit() 方法使用字符串调用,则在退出之前将字符串打印到 'stderr'。在内部,它会引发一个 SystemExit 异常,可以捕获该异常以防止程序退出。此方法通常用于由于错误或特定条件而提前退出脚本。

语法

以下是 Python sys.exit() 方法的语法和参数 -


 sys.exit([arg])

参数

此方法接受表示退出状态的单个可选参数 arg

返回值

此方法不返回任何值。

示例 1

以下是 sys.exit() 方法的示例,该方法在编译并使用一些正则表达式后清除缓存 -


import sys

print("This message will be printed.")
sys.exit(0)
print("This message will not be printed.") 	

输出

This message will be printed.

示例 2

此示例退出程序,状态为 1 表示错误。第二个 print 语句将不会被执行 -


import sys

print("An error occurred.")
sys.exit(1)
print("This message will not be printed.") 	# This line will not be executed. 	

输出

An error occurred.

示例 3

在此示例中,我们检查命令行参数。如果未提供任何参数,它将退出程序并显示一条消息。该消息将被打印到 stderr −


import sys

if len(sys.argv) < 2:
	 	 sys.exit("No arguments provided. Exiting the program.")

print("Arguments provided. Continuing the program.")

输出

No arguments provided. Exiting the program.

示例 4

此示例提示用户输入正数。如果输入负数,则会引发 ValueError 并退出程序并显示错误消息 -


import sys

try:
	 	 x = int(input("Enter a positive number: "))
	 	 if x < 0:
	 	 	 	 raise ValueError("Negative number entered.")
except ValueError as e:
	 	 sys.exit(f"Error: {e}")

print("You entered a positive number.")

输出

Enter a positive number: -1
Error: Negative number entered.