1

我想自己格式化 pylint 的输出,所以我直接调用 pylint.lint.Run,​​并接收对我的 add_message 方法的回调。过程非常顺利,但我需要消息的列偏移量来构建我的输出(我正在突出显示违规行的部分)。

pylint 在适当的情况下报告每条消息的行号。但是,pylint 似乎没有报告任何偏移信息 - 因此它没有报告检测到问题的位置。在底层 pylint 使用来自 logilab 的另一个库,称为 astng,它是对 python _ast 的更新。_ast 解析节点包含偏移信息,但这似乎没有在 astng 中复制。

4

1 回答 1

1

事实证明,astng 是建立在 ast 之上的,logilab 的人给了我关于如何修补 astng 和 pylint 以获得偏移量的说明。附有补丁的票的链接: astng:http ://www.logilab.org/ticket/69217?vid=primary&_cwmsgid=091770639ada4996a455c48aa1eb70b3 pylint: http ://www.logilab.org/ticket/69220?vid=primary&_cwmsgid= 0660d106aaf764a4aa829b14f

于 2011-06-16T16:57:51.363 回答