我想自己格式化pylint的输出,所以我直接调用pylint.lint.Run,并接收我的add_message方法的回调。非常流畅的过程,但我需要消息的列偏移来构建我的输出(我突出显示有问题的行的部分)。
pylint在适当的情况下报告每封邮件的行号。但是,似乎pylint没有报告任何偏移信息 - 因此它没有报告检测到问题的行。在引擎盖下,pylint使用另一个来自logilab的库,名为astng,这是对python的_ast的更新。 _ast解析节点包含偏移量信息,但这似乎没有在astng中复制。
答案 0 :(得分: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=0660d106aa764a4189b1f4f1faa8aa82