在Python脚本的末尾使用sys.exit(0)是一种好习惯吗?

时间:2015-01-14 11:34:03

标签: shell python-3.x

我正在学习编写用于shell的Python 3脚本。我有一本教科书似乎说这样的脚本应该总是使用sys.exit(0)来结束脚本并返回代码0.真的有必要吗?

例如,假设我使用python3 foo.py运行以下脚本:

import sys
sys.stdout.write('Hello world\n')

如果我执行echo $?,则回复为' 0'。因此,脚本确实以代码0退出,并且添加sys.exit(0)作为最后一行将是多余的。

我应该将其遗漏,还是仍然是良好的做法?

1 个答案:

答案 0 :(得分:2)

如果没有找到任何问题,则无需在脚本末尾使用sys.exit(0),这样做不是好习惯。

如果您需要提前退出并出现错误,并且您不关心确切的非零退出代码,则可以使用:

raise SystemExit('error message here')

将打印消息,返回代码为1.否则,print()消息并使用:

sys.exit(returncode)

获取不同的返回码。