1

我正在使用 Pybel - OpenBabel API 的 Python 包装器,我正在尝试禁用以下警告:

==============================
*** Open Babel Warning  in ParseComplex
  Illegal aromatic element b-

当从ChEMBL获取指纹分子SMILES时,我的警告一直被提出

4

3 回答 3

1

您可以从模块中获取 openbabel 记录器(类OBMessageHandler)的句柄openbabel。诀窍是首先从 pybel 模块访问 openbabel 模块,获取OBMessageHandler类,然后实例化记录器(文档):

import pybel

ob_log_handler = pybel.ob.OBMessageHandler()

使用句柄,您可以将 设置log_level0以禁用除关键消息之外的所有消息文档):

ob_log_handler.SetOutputLevel(0)

您可以使用以下枚举(此处的文档)来选择您的日志记录级别。默认值为1,它记录所有警告

  • 0:严重
  • 1:警告(默认
  • 2:信息
  • 3:审计(当分子被破坏/感知时
  • 4:调试
于 2018-05-18T21:15:31.003 回答
0

如果您想摆脱所有错误消息:

pybel.ob.obErrorLog.StopLogging()
于 2021-04-04T03:57:28.067 回答
0

Aelfinn 的回答对我不起作用,但是以这种方式访问​​ SetOutputLevel 确实:

pybel.ob.obErrorLog.SetOutputLevel(0)

于 2020-06-25T05:46:22.147 回答