- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在运行一个启动控制台程序的 PYSTRAY 图标。当我尝试用这段代码停止它时
def stop_rtd():
print("Stopping RTD")
sys.exit()
icon.stop()
系统抛出这个错误
An error occurred when calling message handler
Traceback (most recent call last):
File "C:\Users\ramac\AppData\Local\Programs\Python\Python37\lib\site-packages\pystray\_win32.py", line 389, in _dispatcher
uMsg, lambda w, l: 0)(wParam, lParam) or 0)
File "C:\Users\ramac\AppData\Local\Programs\Python\Python37\lib\site-packages\pystray\_win32.py", line 209, in _on_notify
descriptors[index - 1](self)
File "C:\Users\ramac\AppData\Local\Programs\Python\Python37\lib\site-packages\pystray\_base.py", line 267, in inner
callback(self)
File "C:\Users\ramac\AppData\Local\Programs\Python\Python37\lib\site-packages\pystray\_base.py", line 368, in __call__
return self._action(icon, self)
File "C:\Users\ramac\AppData\Local\Programs\Python\Python37\lib\site-packages\pystray\_base.py", line 463, in wrapper0
return action()
File "C:/Tej/GitHub/Python/YahooDLs/try_systray.py", line 16, in stop_rtd
sys.exit()
SystemExit
RTD 是永久的控制台程序。它停止但图标继续并且控制台不关闭。关闭控制台时,程序退出并且图标关闭。
我在 Windows10 上运行这个
请帮我解决这个问题。
最佳答案
我找到了退出程序的替代方法。 os
模块还有一个名为 _exit
的退出函数。它接受一个参数,即退出代码/状态代码。通常它应该是0
。所以你的函数看起来像这样:
import os
def stop_rtd():
icon.stop()
os._exit(0)
另请注意,您必须在退出程序之前停止 icon
。
关于python-3.x - python 中的 sys.exit 给出一个 SystemExit 错误 pystray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64457320/
背景:我最初给出了 this fine gentleman's question 的答案。关于使用 threading 解决方案在程序中打开非阻塞交互式解释器。他注意到它有效,但对他来说表现不佳(可以
SystemExit 的行为与其他Exception 有何不同?我想我理解为什么提出适当的异常不会是好的原因。例如,您不希望发生这样奇怪的事情: begin exit rescue => e
在 Web 服务器上,我使用 Python3.6、带有 Gunicorn 和 Supervisor 的 Django。部署到服务器后,我开始收到来自 Sentry 的通知,如下所示: Message
根据 sys.exit 上的文档和 SystemExit , 看来 def sys.exit(return_value=None): # or return_value=0 raise Sy
我正在尝试以下列方式捕获 SystemExit 异常: try: raise SystemExit except Exception as exception: print "succ
我有要测试的代码: from random import randint class End(object): def __init__(self): s
我正在测试一个包含以下代码片段的 Python 模块。 r, w = os.pipe() pid = os.fork() if pid:
这是我的代码和错误信息,有人知道为什么会出现这样的异常吗?谢谢。 源代码, import sys import tensorflow as tf def main(argv): print 'in
def main(): try: print "hardfart" return 0 except: return 1 if __nam
我正在使用 unittest断言我的脚本引发了正确的 SystemExit 代码。 基于 http://docs.python.org/3.3/library/unittest.html#unitte
根据 pytest 文档,我可以断言发生了 SystemExit(),但我想做更多:我还想验证退出代码和任何消息。我尝试了下面的代码,但没有打印任何内容,而且我不确定我需要断言什么来证明我得到了正确的
isinstance(SystemExit(1,), Exception) 评估为 True,但此代码段打印 “caught by bare except SystemExit(1,)”。 try:
在 pytest 中断言 UserWarning 和 SystemExit 在我的应用程序中,我有一个函数,当提供错误的参数值时,将从 warnings 模块中引发一个 UserWarnings,然后
我在这里阅读了几个关于 SO 的线程和关于 SystemExit 异常的 python 文档。此线程无意重复,因为我没有在类似线程中找到答案。 是否同时调用 sys.exit() 和引发 System
我正在尝试从 IPython 运行我的 Flask 应用程序。但是,它失败并出现 SystemExit 错误。 from flask import Flask app = Flask(__name__
name = input('name? ') if len(name) == 0: print('error.\n') raise
我正在尝试从 IPython 运行我的 Flask 应用程序。但是,它因 SystemExit 错误而失败。 from flask import Flask app = Flask(__name__)
当我运行我的代码时,它显示在此段中发生了异常:SystemExit2 error at the options = parse.parse_args()。我可以知道这里出了什么问题吗? import
有些程序员使用sys.exit,有些程序员使用SystemExit。 有什么区别? 什么时候需要在函数中使用 SystemExit 或 sys.exit? 例子: ref = osgeo.ogr.Op
文档说调用 sys.exit() 会引发一个 SystemExit 异常,该异常可以在外部级别中捕获。我有一种情况,我想明确且毫无疑问地从测试用例内部退出,但是 unittest 模块捕获了 Syst
我是一名优秀的程序员,十分优秀!