相关疑难解决方法(0)

Python退出命令 - 为什么这么多,何时应该使用?

似乎python支持许多不同的命令来停止脚本执行.
我发现的选择是: quit(),exit(),sys.exit(),os._exit()

我错过了吗?他们之间有什么区别?你什么时候用?

python

435
推荐指数
4
解决办法
58万
查看次数

如何在没有回溯的情况下退出Python?

我想知道如何退出Python而不在输出上有回溯转储.

我仍然希望能够返回错误代码,但我不想显示回溯日志.

我希望能够在exit(number)没有跟踪的情况下退出,但是在异常(不是退出)的情况​​下,我想要跟踪.

python exit traceback

270
推荐指数
6
解决办法
59万
查看次数

Python中的退出代码

我收到一条消息说script xyz.py returned exit code 0.这是什么意思?

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

python exit-code

185
推荐指数
11
解决办法
40万
查看次数

Python:使用sys.exit或SystemExit的差异和建议

在线阅读一些程序员使用sys.exit,其他人使用SystemExit.
对不起,基本问题是:

  1. 有什么不同?
  2. 我什么时候需要在函数内使用SystemExit或sys.exit?

ref = osgeo.ogr.Open(reference)
if ref is None:
    raise SystemExit('Unable to open %s' % reference)
Run Code Online (Sandbox Code Playgroud)

要么

ref = osgeo.ogr.Open(reference)
if ref is None:
    print('Unable to open %s' % reference)
    sys.exit(-1)
Run Code Online (Sandbox Code Playgroud)

python performance coding-style

44
推荐指数
6
解决办法
4万
查看次数

如何在if语句中退出python脚本

我正在使用Python 3.2并尝试在用户输入他们不想继续之后退出它,是否有代码将在while循环中的if语句中退出?我已经尝试过使用exit(),sys.exit(),sys.quit(),quit(),和提高SystemExit.

python python-3.x

22
推荐指数
1
解决办法
20万
查看次数

如何返回值并引发异常

这个try/ except陈述有两个目标.

  1. return如果没有问题,它需要值为1,如果出现任何问题,则需要为0.
  2. 它需要引发异常并结束脚本.

return有价值的工作.我也有SystemExit()工作.但是在一起,他们没有工作.

我的Python脚本(相关):

except IOError:
    value_to_return = 0
    return value_to_return
    raise SystemExit("FOOBAR")
Run Code Online (Sandbox Code Playgroud)

有了它,它raise SystemExit("FOOBAR")完全忽略了这条线.我如何才能获得退货价值raise SystemExit("FOOBAR")呢?对某些人来说这可能是基本的,但实际上我遇到了很多困难.

python exception-handling return exception systemexit

5
推荐指数
2
解决办法
9448
查看次数

'exit'不是Python中的关键字,但是使用它时不会发生错误

我了解到,这exit不是Python中的关键字,

import keyword
print('exit' in keyword.kwlist)     # Output: False
Run Code Online (Sandbox Code Playgroud)

但是NameError: name 'exit' is not defined在使用它时没有任何提醒。以下代码段的输出使我感到困惑。谁能帮我吗?

for i in range(5):
    print(i)
    cur=i if i<2 else exit

print(cur)
# Output
0
1
2
3
4
Use exit() or Ctrl-D (i.e. EOF) to exit
Run Code Online (Sandbox Code Playgroud)

exit除了之外,我无法从Python文档中获取相关信息exit([code=None])

python ternary-operator exit

4
推荐指数
1
解决办法
369
查看次数

从Python获取退出状态代码

我有一个python脚本,它将执行一些操作,并根据结果,将退出代码0(可以)或1(不好).

我想捕获这个结果,将其存储到变量中并通过UDP发送.这不能在python脚本(要求)内完成.

所以让我们说我的脚本是这样的:

import sys
# Do some stuff 
sys.exit(0) # or sys.exit(1) 
Run Code Online (Sandbox Code Playgroud)

我和谁一起跑python script.py.

如何获取此退出状态代码(0或1).

我试着回声$errorlevel,但它只打印一个空行.也尝试使用exit(0)而不是sys.exit()(参见此处)和其他一些不成功的尝试.

shell exit

4
推荐指数
1
解决办法
1万
查看次数

使用 iPython/Spyder 从 Python 退出的问题

这个问题已经被问过,但我已经尝试了相关问题的解决方案,如无济于事。

我在使用 Python 的exit命令时遇到了问题,并且我已经排除了由 vanilla Python 3 运行的代码的问题。当我使用 iPython 或在 Spyder 的 iPython 控制台中运行它时,问题就出现了。

当我只使用一个简单的退出命令时,我收到错误:

NameError: name 'exit' is not defined
Run Code Online (Sandbox Code Playgroud)

我已经按照另一个链接的建议导入了 sys 。唯一有效的是尝试 sys.exit() 在这种情况下我得到:

An exception has occurred, use %tb to see the full traceback.

SystemExit

C:\Users\sdewey\AppData\Local\Continuum\Anaconda3\lib\site-
packages\IPython\core\interactiveshell.py:2870: UserWarning: To exit: use 
'exit', 'quit', or Ctrl-D.
  warn("To exit: use 'exit', 'quit', or Ctrl-D.", stacklevel=1)
Run Code Online (Sandbox Code Playgroud)

我只说这种“有效”是因为错误消息较小,因此不那么烦人:)。

有任何想法吗?似乎是 iPython 的问题。我在 Jupyter(使用 iPython)中遇到了一个不同的问题,其中完全忽略了退出,我在这里单独发布了这个问题

ipython spyder

3
推荐指数
1
解决办法
9487
查看次数

将exit()作为全局函数调用会导致KeyError

我正在为我正在编写的程序编写模块管理器,我想将模块名称存储在字典中,然后引用它们并从中调用它们globals().

module_number = 5
module_names  = ["", "quiz", "scores", "gender", "help", "exit"]
Run Code Online (Sandbox Code Playgroud)

我希望我可以打电话

globals()[module_names[module_number]]()
Run Code Online (Sandbox Code Playgroud)

哪个会调用exit()并关闭脚本,而是得到结果错误:

回溯(最近一次调用最后一次):文件"a2.py",第103行,在start()文件"a2.py",第44行,在开始菜单中()文件"a2.py",第36行,在菜单call_module中(选择)文件"a2.py",第50行,在call_module globals()转换器[int(module_number)]中

KeyError:'退出'

python dictionary

0
推荐指数
1
解决办法
145
查看次数