我正在尝试编写一个IPython笔记本扩展,它将对每个单元格中的代码进行分析,然后通过记录器输出消息(这可能是一个PEP8分析,举一个简单的例子)。问题是,我希望能够在笔记本顶部加载一次扩展,并将其应用于所有单元格。
可以定义自定义线和单元格魔法(参见here)但是必须将魔术命令放在每个单元格中,而我希望它适用于所有代码单元格。
我还发现,可以使用ip.prefilter_manager.registre_transformer
注册一个预过滤代码输入的类,但这种类在逐行的基础上运行,这是不够的。
有没有人对如何注册一个可以分析所有单元格内容的函数有什么建议,当它们被执行时,并将记录器消息添加到该给定单元格的输出中?
我知道IPython笔记本有一个PEP8扩展,但这要求将魔术%% pep8命令放在每个要检查的单元格中,我想将其更改为笔记本中的全局设置。 / p>