Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中的退出代码_Python_Exit Code - Fatal编程技术网

Python中的退出代码

Python中的退出代码,python,exit-code,Python,Exit Code,我收到一条消息说脚本xyz.py返回了退出代码0。这是什么意思 Python中的退出代码是什么意思?有多少人?哪些是重要的?0的退出代码通常意味着“这里没有错误”。但是,如果脚本的程序员没有遵循约定,您可能必须查阅源代码以了解其含义。通常,非零值作为错误代码返回。0的退出代码通常表示“这里没有错误”。但是,如果脚本的程序员没有遵循约定,您可能必须查阅源代码以了解其含义。通常,非零值作为错误代码返回。退出代码仅具有脚本作者指定的含义。Unix的传统是退出代码0表示“成功”,其他任何东西都是失败。确

我收到一条消息说
脚本xyz.py返回了退出代码0
。这是什么意思


Python中的退出代码是什么意思?有多少人?哪些是重要的?

0的退出代码通常意味着“这里没有错误”。但是,如果脚本的程序员没有遵循约定,您可能必须查阅源代码以了解其含义。通常,非零值作为错误代码返回。

0的退出代码通常表示“这里没有错误”。但是,如果脚本的程序员没有遵循约定,您可能必须查阅源代码以了解其含义。通常,非零值作为错误代码返回。

退出代码仅具有脚本作者指定的含义。Unix的传统是退出代码0表示“成功”,其他任何东西都是失败。确保给定脚本的退出代码含义的唯一方法是检查脚本本身。

退出代码仅具有脚本作者指定的含义。Unix的传统是退出代码0表示“成功”,其他任何东西都是失败。确定给定脚本的退出代码的含义的唯一方法是检查脚本本身。

许多编程语言中的退出代码由程序员决定。因此,您必须查看您的程序源代码(或手册)。零通常意味着“一切正常”。许多编程语言中的退出代码由程序员决定。因此,您必须查看您的程序源代码(或手册)。零通常表示“一切正常”。

您正在脚本中查找对的调用。该方法的参数作为退出代码返回给环境


很可能脚本从未调用exit方法,0是默认的退出代码。

您正在脚本中查找对的调用。该方法的参数作为退出代码返回给环境


很可能脚本从未调用退出方法,0是默认退出代码。

来自以下文档:

可选参数arg可以是 给出退出状态的整数 (默认为零)或其他类型 当然可以。如果是整数,则为零 被视为“成功终止” 并且考虑任何非零值 外壳和外壳的“异常终止” 诸如此类。大多数系统都要求它 在0-127范围内,并产生 否则将导致未定义的结果。一些 系统有一个约定 赋予特定含义 具体的出口代码,但这些是 普遍不发达;Unix 程序通常使用2作为命令 行语法错误,1表示所有其他 一种错误

在shell脚本中使用退出代码的一个示例。在Bash中,您可以检查特殊变量
$?
的最后退出状态:

me@mini:~$ python -c ""; echo $?
0
me@mini:~$ python -c "import sys; sys.exit(0)"; echo $?
0
me@mini:~$ python -c "import sys; sys.exit(43)"; echo $?
43

就我个人而言,我尝试使用在
/usr/include/asm generic/errno.h
中找到的退出代码(在Linux系统上),但我不知道这样做是否正确。

来自以下文档:

可选参数arg可以是 给出退出状态的整数 (默认为零)或其他类型 当然可以。如果是整数,则为零 被视为“成功终止” 并且考虑任何非零值 外壳和外壳的“异常终止” 诸如此类。大多数系统都要求它 在0-127范围内,并产生 否则将导致未定义的结果。一些 系统有一个约定 赋予特定含义 具体的出口代码,但这些是 普遍不发达;Unix 程序通常使用2作为命令 行语法错误,1表示所有其他 一种错误

在shell脚本中使用退出代码的一个示例。在Bash中,您可以检查特殊变量
$?
的最后退出状态:

me@mini:~$ python -c ""; echo $?
0
me@mini:~$ python -c "import sys; sys.exit(0)"; echo $?
0
me@mini:~$ python -c "import sys; sys.exit(43)"; echo $?
43

就我个人而言,我尝试使用在
/usr/include/asm generic/errno.h
中找到的退出代码(在Linux系统上),但我不知道这样做是否正确。

操作系统命令有退出代码。寻找一些关于这个的资料。shell使用退出代码来决定程序是否工作、是否有问题或是否失败。目前正在努力创建标准(或至少常用)退出代码。请参阅此帖子。

操作系统命令有退出代码。寻找一些关于这个的资料。shell使用退出代码来决定程序是否工作、是否有问题或是否失败。目前正在努力创建标准(或至少常用)退出代码。请参阅此帖子。

有一个模块定义标准退出代码:

例如,权限被拒绝是错误代码13

import errno, sys

if can_access_resource():
    do_something()
else:
    sys.exit(errno.EACCES)
有一个模块定义标准退出代码:

例如,权限被拒绝是错误代码13

import errno, sys

if can_access_resource():
    do_something()
else:
    sys.exit(errno.EACCES)

对于记录,您可以使用定义的POSIX标准退出代码

例如:

import sys, os

try:
    config()
except:
    sys.exit(os.EX_CONFIG) 
try:
    do_stuff()
except:
    sys.exit(os.EX_SOFTWARE)
sys.exit(os.EX_OK) # code 0, all ok

对于记录,您可以使用定义的POSIX标准退出代码

例如:

import sys, os

try:
    config()
except:
    sys.exit(os.EX_CONFIG) 
try:
    do_stuff()
except:
    sys.exit(os.EX_SOFTWARE)
sys.exit(os.EX_OK) # code 0, all ok

如果您希望可移植地使用,请参阅PyPI上的包

安装软件包:

$pip安装exitstatus
在代码中使用:

导入系统 从出口状态导入出口状态 系统退出(退出状态成功)
如果您希望可移植地使用,请参阅PyPI上的软件包

安装软件包:

$pip安装exitstatus
在代码中使用:

导入系统 从出口状态导入出口状态 系统退出(退出状态成功) 答案是“取决于退出代码0的含义”

然而,在大多数情况下,这意味着“一切正常”


我喜欢POSIX:

因此,在shell中,我会键入:

python script.py && echo 'OK' || echo 'Not OK'
如果我的Python脚本调用sys.exit(0),shell将返回“OK”

如果我的Python脚本调用sys.exit(1)(或任何非零整数),shell将返回“notok”

你的工作就是巧妙地使用shell,阅读脚本的文档(或源代码),看看退出代码是什么