隐藏“文件”;未能加载";加载无效映像时的消息,wxpython

隐藏“文件”;未能加载";加载无效映像时的消息,wxpython,python,wxpython,wxwidgets,Python,Wxpython,Wxwidgets,如果我运行此操作,它将自动显示一条错误消息,说明无法加载图像。如何阻止我的程序执行此操作?如果您只是想阻止引发异常,则可以将其包含在try/except块中: bmp = wx.Image("C:\User\Desktop\cool.bmp", wx.BITMAP_TYPE_ANY).ConvertToBitmap() 请记住,最好只忽略特定的异常,并在出现异常时执行某些操作(即告诉用户选择另一张图像): 我甚至不能让我的wxPython代码运行,如果我传递一个无效的图像。这可能与WxPyth

如果我运行此操作,它将自动显示一条错误消息,说明无法加载图像。如何阻止我的程序执行此操作?

如果您只是想阻止引发异常,则可以将其包含在try/except块中:

bmp = wx.Image("C:\User\Desktop\cool.bmp", wx.BITMAP_TYPE_ANY).ConvertToBitmap()
请记住,最好只忽略特定的异常,并在出现异常时执行某些操作(即告诉用户选择另一张图像):


我甚至不能让我的wxPython代码运行,如果我传递一个无效的图像。这可能与WxPython是一个围绕C++库的轻型包装有关。有关有趣的解释,请参阅

解决此类问题的最佳方法是实际使用Python的操作系统模块,如下所示:

wx.App(redirect=True,filename='error_log')

我为配置文件和其他东西做这种事情。如果文件不存在,我要么自己创建它,要么不创建小部件,要么显示一条消息,以便我知道如何修复它。

对于wxpython版本4+,我可以通过调用

if os.path.exists(path):
   # then create the widget
wx.Log.EnableLogging(False)
还是打电话

if os.path.exists(path):
   # then create the widget
wx.Log.EnableLogging(False)

相关文档

啊,是的,我想这是行不通的,但可能还有其他一些错误:例如,文件存在,但内容不是有效的图像。然后将再次显示弹出窗口。您认为可以将此错误处理还原为异常吗?您可能必须使用sys.excepthook来捕获此类内容
try/except
无效:此错误被称为
异常处理。但是
wx.Log\u EnableLogging(False)
阻止了弹出窗口。我们如何将此对话框中的错误转换为
异常
wx.Log.SetLogLevel(wx.LOG_Error)