使用 sys.exit() 包装函数调用的原因是什么?
What are the reasons to use sys.exit() to wrap a function call?
在 Anaconda 附带的几个 Python 脚本中,sys.exit() 应用于 main() 函数。这是启动 jupyter notebook 的脚本示例:
import re
import sys
from jupyter_core.command import main
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
sys.exit(main())
使用 sys.exit() 作为包装函数 main() 调用的目的是什么?根据 Python 文档 sys.exit() 只是引发了一个 SystemExit 异常,表示有意退出解释器 (https://docs.python.org/3/library/sys.html#sys.exit)。
谢谢。
阅读您链接的文档的下一部分:
sys.exit([arg])
Raise a SystemExit exception, signaling an intention to exit the interpreter.
The optional argument arg can be an integer giving the exit status.
因此该参数用作当前进程的exit code。
在您提到我们有 sys.exit(main())
的情况下,main()
函数本身 returns 一个整数,具体取决于它的结束方式,然后作为退出代码传递给 sys.exit
在 Anaconda 附带的几个 Python 脚本中,sys.exit() 应用于 main() 函数。这是启动 jupyter notebook 的脚本示例:
import re
import sys
from jupyter_core.command import main
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
sys.exit(main())
使用 sys.exit() 作为包装函数 main() 调用的目的是什么?根据 Python 文档 sys.exit() 只是引发了一个 SystemExit 异常,表示有意退出解释器 (https://docs.python.org/3/library/sys.html#sys.exit)。
谢谢。
阅读您链接的文档的下一部分:
sys.exit([arg])
Raise a SystemExit exception, signaling an intention to exit the interpreter.
The optional argument arg can be an integer giving the exit status.
因此该参数用作当前进程的exit code。
在您提到我们有 sys.exit(main())
的情况下,main()
函数本身 returns 一个整数,具体取决于它的结束方式,然后作为退出代码传递给 sys.exit