我正在学习编写用于shell的Python 3脚本。我有一本教科书似乎说这样的脚本应该总是使用sys.exit(0)
来结束脚本并返回代码0.真的有必要吗?
例如,假设我使用python3 foo.py
运行以下脚本:
import sys
sys.stdout.write('Hello world\n')
如果我执行echo $?
,则回复为' 0'。因此,脚本确实以代码0退出,并且添加sys.exit(0)
作为最后一行将是多余的。
我应该将其遗漏,还是仍然是良好的做法?
答案 0 :(得分:2)
如果没有找到任何问题,则无需在脚本末尾使用sys.exit(0)
,这样做不是好习惯。
如果您需要提前退出并出现错误,并且您不关心确切的非零退出代码,则可以使用:
raise SystemExit('error message here')
将打印消息,返回代码为1.否则,print()
消息并使用:
sys.exit(returncode)
获取不同的返回码。