我正在使用 Pybel - OpenBabel API 的 Python 包装器,我正在尝试禁用以下警告:
==============================
*** Open Babel Warning in ParseComplex
Illegal aromatic element b-
当从ChEMBL获取指纹分子SMILES时,我的警告一直被提出
我正在使用 Pybel - OpenBabel API 的 Python 包装器,我正在尝试禁用以下警告:
==============================
*** Open Babel Warning in ParseComplex
Illegal aromatic element b-
当从ChEMBL获取指纹分子SMILES时,我的警告一直被提出
您可以从模块中获取 openbabel 记录器(类OBMessageHandler
)的句柄openbabel
。诀窍是首先从 pybel 模块访问 openbabel 模块,获取OBMessageHandler
类,然后实例化记录器(文档):
import pybel
ob_log_handler = pybel.ob.OBMessageHandler()
使用句柄,您可以将 设置log_level
为0以禁用除关键消息之外的所有消息(文档):
ob_log_handler.SetOutputLevel(0)
您可以使用以下枚举(此处的文档)来选择您的日志记录级别。默认值为1,它记录所有警告:
如果您想摆脱所有错误消息:
pybel.ob.obErrorLog.StopLogging()
Aelfinn 的回答对我不起作用,但是以这种方式访问 SetOutputLevel 确实:
pybel.ob.obErrorLog.SetOutputLevel(0)