Python退出代码

Yar*_*tov 19 python unix

在哪里可以找到有关Unix上"python"进程退出代码含义的信息?例如,如果我执行"python thisfiledoesntexist.py",我会得到退出代码2

摘要:

from errno import errorcode
print errorcode[2]
Run Code Online (Sandbox Code Playgroud)

car*_*ett 8

python手册说明了它的退出代码:

有些系统有一个约定,用于为特定的退出代码分配特定的含义,但这些通常是不发达的; Unix程序通常使用2表示命令行语法错误,1表示所有其他类型的错误.

因此,既然您指定thisfiledoesntexist.py为命令行参数,则返回代码为2(假设文件实际上不存在.在这种情况下,我建议将其重命名为thisfiledoesexist.py.;))

其他那样的解析错误,返回代码是由python程序运行确定的.除非您指定另一个退出代码,否则返回0 sys.exit.Python本身不会干扰.


Mar*_*rau 8

如上所述,大多数错误代码来自执行的脚本和sys.exit().

将非现有文件作为解释器参数的示例属于不同的类别.虽然它没有说明我猜,这些退出代码是"标准"linux错误代码.有一个名为的模块errno提供这些错误号(退出代码来自linux/include/errno.h.

即:( errno.ENOENT代表"没有这样的文件或目录")的数字2与你的例子一致.