Python exit codes

☆樱花仙子☆ 提交于 2020-07-05 05:27:46

问题


Where can I find information about meaning of exit codes of "python" process on Unix? For instance, if I do "python thisfiledoesntexist.py", I get exit code 2

Summary:

from errno import errorcode
print errorcode[2]

回答1:


As stated, mostly the error codes come from the executed script and sys.exit().

The example with a non existing file as argument to the interpreter fall in a different category. Though its stated nowhere I would guess, that these exit codes are the "standard" linux error codes. There is a module called errno that provides these error numbers (the exit codes come from linux/include/errno.h.

I.e.: errno.ENOENT (stands for for "No such file or directory") has the number 2 which coincides with you example.




回答2:


The python manual states this regarding it's exit codes:

Some systems have a convention for assigning specific meanings to specific exit codes, but these are generally underdeveloped; Unix programs generally use 2 for command line syntax errors and 1 for all other kind of errors.

So, since you specified thisfiledoesntexist.py as a command line argument, you get a return code of 2 (assuming the file does not, in fact, exist. In that case I'd recommend renaming it to thisfiledoesexist.py. ;) )

Other that such parsing errors, the return code is determined by the python program run. 0 is returned unless you specify another exit code with sys.exit. Python itself does not interfere.




回答3:


Maybe exit code constants from os module can help you. Also have a look at sys.exit documentation.




回答4:


http://www.wingware.com/psupport/python-manual/2.7/library/sys.html

EDIT: to focus on the part that explains this:

http://www.wingware.com/psupport/python-manual/2.7/library/sys.html#sys.exit




回答5:


Unfortunately, there is no 100% guarantee that Pythons exit codes will be what the documentation claims they will be: os._exit allows the python programmer to define which exit code is supposed to be used, which means python file_exists_but_claims_that_it_does_not.py could exit with os.EX_DATAERR



来源:https://stackoverflow.com/questions/6758514/python-exit-codes

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!