如何在异常中获取模块名称

在捕获异常时,我得到了以下信息Exception:


>>> exc_type

<class 'pymysql.err.ProgrammingError'>

有没有一种简单的方法来获取值,pymysql以便我可以看到它来自哪个导入/模块?目前我正在做:


>>> exc_type.__module__.split('.')[0]

'pymysql'

但这似乎有点粗糙。获得该价值的最佳方式是什么?


胡子哥哥
浏览 119回答 1
1回答

慕田峪7331174

你可以试试inspect.getmodule:>>> module = inspect.getmodule(exc_type)>>> module<module 'pymysql.err' from 'C:\\Python36\\lib\\site-packages\\pymysql\\err.py'>>>> module.__name__pymysql.err>>> module.__package__pymysql
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python