Python退出代码
既然这些都处理完了,让我们来探索一下Python的退出代码,它们是如何工作的,以及你如何在程序中使用它们。
Python标准退出代码
Python只有两个标准代码,即1和0。退出代码0意味着进程已成功执行并退出。这意味着没有遇到错误。另一方面,错误代码1表示进程以失败退出。让我们来看一个非常简单的程序,它只是打印字符串“欢迎来到linux-console!”。
print("welcome to linux-console!")如你所猜,如果我们运行上述程序,它将成功执行。
python exit_codes.py
welcome to linux-console!我们可以看到该程序确实返回了所需的输出。在 Unix 系统中,我们可以使用 echo 命令后跟环境变量 ?。这个环境变量允许你获取最后执行命令的退出代码。
在我们的案例中,最后一个命令是Python程序:
echo $?
0
请注意,上面的命令返回了0。这表明我们的Python程序成功执行。
你是否曾经自定义过你的命令行,当上一个命令失败时会返回一个红色符号?是的,它是通过使用退出代码来实现的。
现在让我们再举一个例子:
print("welcome to linux-console!"注意到上面的程序有什么错误吗?
在上述示例中,上述代码缺少打印函数的闭合括号。因此,如果我们运行上述程序,它将失败并返回错误。
python exit_codes.py
File "/Users/username/exit_codes.py", line 2
^
SyntaxError: unexpected EOF while parsing在这里,我们可以清楚地看到程序失败并返回错误。
现在让我们检查退出代码。
echo $?
1你猜对了;该命令返回了退出代码 1。这表明之前的程序失败得很惨。
Python自定义退出代码 - SYS模块
我鼓励其他 Python 爱好者学习的最有用的模块之一是 SYS 模块。
这是一个出色的模块,它内置于Python的标准库中,但提供了卓越的系统功能。
够了赞美;我们可以使用SYS模块中的一个函数在我们的Python程序中创建自定义退出代码。
这个函数被称为 exit(),其语法如下所示:
sys.exit([arg])正如你所看到的,这个函数的语法相对简单。
它允许你指定 arg 参数,该参数是可选的。它可以是一个整数或任何支持的对象。
如果提供的参数是整数零或 None,则被视为成功执行。对于任何其他大于零的值,它表示异常终止。
虽然这将取决于系统,但退出代码的值可以在 0 - 127 范围内变化。
您还可以传递一个字符串,该字符串将在程序退出时显示。
以下示例程序返回退出代码 125。
from sys import exit
print("Hi!")
exit(125)
print("Welcome to linux-console")在上面的示例程序中,我们首先从sys模块导入exit函数。
然后我们使用打印语句在屏幕上打印一些文本。
对于重要部分,我们使用退出函数并传递退出代码 125。
注意:一旦 Python 遇到 exit() 函数,它会立即终止程序并返回指定的退出代码或消息。
我们可以通过以下方式运行程序来验证这一点:
python3 exit_codes.py
Hi!从上述输出,我们可以看到第二个打印语句没有执行。
让我们查看退出代码如下:
echo $?
125我们可以看到退出代码是125,这是我们程序中指定的.
请考虑下面的例子,它打印一个字符串而不是退出代码。
from sys import exit
print("Hi!")
exit("Program terminated unexpectedly")
print("Welcome to linux-console")在这种情况下,我们在函数内部使用字符串字面量作为 arg 参数。一旦我们运行程序:
python3 exit_codes.py
Hi!程序意外终止
我们可以看到程序在退出函数之前打印消息,以及在退出函数中的消息。
你能猜出上面程序的退出代码是什么吗?我们来看看:
echo $?
1是的,它就是一个。任何没有提供自己自定义代码的程序异常终止将被分配退出代码 1。
注意:当您需要立即终止程序时,请使用退出函数。
结论
至此,我们的教程已经结束。在这篇文章中,我们学习了 Python 退出代码是如何工作的,以及如何使用 sys 模块创建自定义退出代码。
祝编程愉快,和往常一样,感谢您的阅读!!