似乎python支持许多不同的命令来停止脚本执行.
我发现的选择是: quit(),exit(),sys.exit(),os._exit()
我错过了吗?他们之间有什么区别?你什么时候用?
我想知道如何退出Python而不在输出上有回溯转储.
我仍然希望能够返回错误代码,但我不想显示回溯日志.
我希望能够在exit(number)没有跟踪的情况下退出,但是在异常(不是退出)的情况下,我想要跟踪.
我收到一条消息说script xyz.py returned exit code 0.这是什么意思?
Python中的退出代码是什么意思?那里有多少?哪些重要?
在线阅读一些程序员使用sys.exit,其他人使用SystemExit.
对不起,基本问题是:
例
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 3.2并尝试在用户输入他们不想继续之后退出它,是否有代码将在while循环中的if语句中退出?我已经尝试过使用exit(),sys.exit(),sys.quit(),quit(),和提高SystemExit.
这个try/ except陈述有两个目标.
return如果没有问题,它需要值为1,如果出现任何问题,则需要为0.我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")呢?对某些人来说这可能是基本的,但实际上我遇到了很多困难.
我了解到,这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脚本,它将执行一些操作,并根据结果,将退出代码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()(参见此处)和其他一些不成功的尝试.
这个问题已经被问过,但我已经尝试了相关问题的解决方案,如这无济于事。
我在使用 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)中遇到了一个不同的问题,其中完全忽略了退出,我在这里单独发布了这个问题
我正在为我正在编写的程序编写模块管理器,我想将模块名称存储在字典中,然后引用它们并从中调用它们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 ×8
exit ×3
coding-style ×1
dictionary ×1
exception ×1
exit-code ×1
ipython ×1
performance ×1
python-3.x ×1
return ×1
shell ×1
spyder ×1
systemexit ×1
traceback ×1