-1
if __name__ = '__main__':
    blah = False
    if something:
        blah = True

    if blah:
        sys.exit(1)            <--- is this necessary?

如果 blah 为 False,程序还会以 1 退出吗?

4

1 回答 1

8

如果blah是,Falsesys.exit(1)不会执行该行。

如果您发布的代码后面没有其他代码,Python 将正常退出,这意味着退出代码将为0,就像在sys.exit()没有参数的情况下调用一样。

退出代码含义是一个约定;0 表示成功,其他任何值通常表示存在问题。显式退出程序sys.exit(1)只是意味着程序遵守该约定;它向任何启动脚本的人发出信号,即事情没有成功。

一些程序使用退出代码不仅仅是故障通信;退出代码可用于传达一系列状态,但这完全取决于程序。检查文档以确定状态代码的含义,状态代码并不是真正标准化的,它更多的是......指南。

TLDR:大多数程序的默认退出代码是0,表示成功,Python 也不例外。

于 2013-11-08T15:22:59.743 回答