Python 3.x 如何禁用Pybel中记录的警告?
我正在OpenBabel API周围使用Pybel—一个Python包装器,我正在尝试禁用以下警告:Python 3.x 如何禁用Pybel中记录的警告?,python-3.x,logging,openbabel,pybel,Python 3.x,Logging,Openbabel,Pybel,我正在OpenBabel API周围使用Pybel—一个Python包装器,我正在尝试禁用以下警告: ============================== *** Open Babel Warning in ParseComplex Illegal aromatic element b- 当从ChEMBL获取指纹分子SMILES时,我的警告持续出现。您可以从openbabel模块中获取openbabel logger(类OBMessageHandler)的句柄。诀窍是首先从pyb
==============================
*** Open Babel Warning in ParseComplex
Illegal aromatic element b-
当从ChEMBL获取指纹分子SMILES时,我的警告持续出现。您可以从
openbabel
模块中获取openbabel logger(类OBMessageHandler
)的句柄。诀窍是首先从pybel模块访问openbabel模块,抓取OBMessageHandler
类,并实例化记录器():
使用手柄,您可以将日志级别设置为0,以禁用除关键消息外的所有消息():
您可以使用以下枚举()来选择日志记录级别。默认值为1,它记录所有警告:
- 0:严重
- 1:警告(默认)
- 2:信息
- 3:审计(当分子被破坏/感知时)
- 4:调试
Aelfinn的答案对我不起作用,但通过这种方式访问SetOutputLevel确实起到了作用:
pybel.ob.obErrorLog.SetOutputLevel(0)
如果要清除所有错误消息:
pybel.ob.obErrorLog.StopLogging()
import pybel
ob_log_handler = pybel.ob.OBMessageHandler()
ob_log_handler.SetOutputLevel(0)