python - 你如何真正退出 python 脚本?
问题描述
这些都不是kill -9
或任何接近的东西。答案是什么?
import sys
import os
try:
exit()
sys.exit()
os._exit()
quit()
except:
print("THIS SHOULD NOT RUN")
如果任何对 anabort()
或类似的东西的 try-catch 包装阻止它能够死亡,这对 Python 语言来说是荒谬的。
这不是我所知道的任何其他语言中存在的东西。abort()
是一种紧急安全措施。
解决方案
继续@Mike Scotty 已经解释过的内容:
选择一个:(sys.exit()
)
sys.exit()
引发异常,即SystemExit
. 这就是你登陆的原因except-block
。
示例:
import sys
try:
sys.exit()
except:
print(sys.exc_info()[0])
输出:
<class 'SystemExit'>
深入:
import sys
try:
sys.exit() # this always raises SystemExit
except SystemExit:
print("sys.exit() worked as expected")
except:
print("Something went horribly wrong") # some other exception got raised
输出:
sys.exit() worked as expected
推荐阅读
- python - 'float' 对象没有属性 'tanh'
- python-3.x - Web Scraping: My first project and no idea where to start
- angular - 修改本机元素时未更新与 ngModel 绑定的变量
- google-cloud-platform - 为什么 kompose up 产生“连接被拒绝”?
- php - Cpanel 在 paypal api 中找不到我的 bootsrap.php 文件(内置于 netbeans)
- c# - TargetFrameworkVersion 与 Xamarin
- php - 如何在 Laravel 中使用两个表创建自定义注册?
- python - 在 Python 中计算数组的“导数”
- angularjs - Angularjs - 插入表单内的下拉列表:如何在提交表单之前将项目添加到下拉列表中?
- php - 使用 PHP 和 AJAX 登录:不工作。接收失败的警报不正确的凭据 - 但是没有收到任何错误